Refactored Engine to EngineSingleton. Experimental code updates to
follow