Changed engine abstract objects to just header files