wxPythonでsizerのネスト

import wx

class MyFrame(wx.Frame):
    def __init__(self,parent,id,title):
        wx.Frame.__init__(self,parent,id,title,wx.DefaultPosition,wx.DefaultSize)
        panel = wx.Panel(self,-1)
        vbox = wx.BoxSizer(wx.VERTICAL)
        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        hbox2 = wx.BoxSizer(wx.HORIZONTAL)
        hbox1.Add(wx.Button(panel,-1,"button1"),1,wx.ALL,5)
        hbox1.Add(wx.StaticText(panel,-1,"text1"),1,wx.ALL,5)
        hbox2.Add(wx.Button(panel,-1,"button2"),1,wx.ALL,5)
        hbox2.Add(wx.StaticText(panel,-1,"text2"),1,wx.ALL,5)
        vbox.Add(hbox1,1,wx.ALL)
        vbox.Add(hbox2,1,wx.ALL)
        panel.SetSizer(vbox)

class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None,-1,'foo')
        frame.Show()
        return True

app = MyApp(0)
app.MainLoop()

疑問なのは、この場合Panel使わなくても出来るってこと。

import wx

class MyFrame(wx.Frame):
    def __init__(self,parent,id,title):
        wx.Frame.__init__(self,parent,id,title,wx.DefaultPosition,wx.DefaultSize)
        vbox = wx.BoxSizer(wx.VERTICAL)
        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        hbox2 = wx.BoxSizer(wx.HORIZONTAL)
        hbox1.Add(wx.Button(self,-1,"button1"),1,wx.ALL,5)
        hbox1.Add(wx.StaticText(self,-1,"text1"),1,wx.ALL,5)
        hbox2.Add(wx.Button(self,-1,"button2"),1,wx.ALL,5)
        hbox2.Add(wx.StaticText(self,-1,"text2"),1,wx.ALL,5)
        vbox.Add(hbox1,1,wx.ALL)
        vbox.Add(hbox2,1,wx.ALL)
        self.SetSizer(vbox)

class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None,-1,'foo')
        frame.Show()
        return True

app = MyApp(0)
app.MainLoop()