Added a basic SceneManager + some refactoring