Major Code Overhaul

Deleted the subsystems class and replaced it with "singleton" classes.
These create one object per class and you access that class through the
getInstance() method. Wrote while tired should be looked over