Made new IAbstractEngine interface

Removed most methods from IEngine to abstract