Engine class contains core functionality for both applications and
Each engine manages a registry that's used for dependency injection and
Engines also manage initializers and instance initializers.
Engines can spawn
EngineInstance instances via
Set this to provide an alternate class to