Even the engine class is now no longer a singleton.
To get access to all other systems from another the system class now stores a pointer to the engine object which contains it.
The entity class has a pointer to the engine object too for the same reason.
This stuff is a bit messy and not so handy but it is more reliable than the way it was.