Moved most game logic from GameScene to GenericLevel