Refactored EngineRunnable into Engine