systems are now stored in an engine class, which takes variadic template parameters for the systems that are <<bound>> to the engine.
this solves the problem of destroying the components associated with the entity, which is now implemented (not very efficient)