LevelLoader is refactored and is now Singleton. No Controller and SpaceInvader classes any more. Main method in GameFrame. GameFrame has no dependency on LevelLoader, LevelLoader is used by GamePanel. LevelLoader has levelNo internally and the only available method from outside is loadNextLevel(), LevelLoader knows which level to load.