Added Generator

Added Generator and separated things that will be unified across both
interfaces.
Moved load to Generator

Load will be needed with the GUI and CLI so it should be in the
Generator