Removed the 'I' suffix from interface classes since it exposes the underlying implementation of the class (Pure abstract or base class)
Removed the MemoryManager, the plan is that each engine subsystem handles its own memory allocations to reduce coupling to central manager.