Modified to be an empty system
Cleanup
Added documentation
Changed some method names
Added new exception for attempting to add the same system multiple
times.
Implemented most of the functionality of a base system.
Yeah