private void initializeEngine(Context context) {
mViewport = new Viewport();
mEntityStore = new EntityStore();
mMessageQueue = new MessageQueue();
mGamePersister = new GamePersister();
mFrameRateLogger = new FrameRateLogger();
mRenderer = new Renderer(mViewport, mFrameRateLogger);
mGameLoop = new GameLoop(mRenderer, mFrameRateLogger, mMessageQueue, mEntityStore);
mThemeManager = new ThemeManager(context, mRenderer);
mSoundManager = new SoundManager(context);
mSpriteFactory = new SpriteFactory(context, mThemeManager);
mSoundFactory = new SoundFactory(context, mSoundManager);
mGameEngine = new GameEngine(mSpriteFactory, mThemeManager, mSoundFactory, mEntityStore, mMessageQueue, mRenderer, mGameLoop);
mEntityRegistry = new EntityRegistry(mGameEngine);
}