CHANGED: System Manager - Holding shared pointers to systems instead of raw pointers.