State(game,value...)
The state engine.
I usually pass in a custom value to a state
For all of the template methods, they should return None unless they return a new State to switch the engine to.
State.init()
State is responsible for calling pygame.display.flip() or whatever.
State.paint(screen)
State.repaint()
State is responsible for calling pygame.display.update(updates) or whatever.
State.update(screen)
State.loop()
State.event(e)
Quit(game,value)
Game.run(state,screen=None)
a state engine
the screen
Game.init()
Game.tick()
Game.event(e): return captured
return a True value if the event is captured and does not need to be passed onto the current state