'Runs the application, registering the list of listeners given by the
listeners parameter.  Listeners can be an instance of a Listener class,
it could be a class object of a listener class (in which case an
instance will be created by calling the constructor with no params),
or it could be a list of either of those.'

def Main(self, listeners=[]):

    if (not hasattr(self, 'Initialized')):
        self.Init()
    if (not self.SceneManager.InitGraphics(self.Window.Handle)):
        Forms.MessageBox.Show('Could    not    init    Direct3D.')
    else:
        if (listeners is not None):
            self.SceneManager.AddListener(listeners)
        self.Window.Show()
        self.SceneManager.Go(self.Window)
