[WIP] Rewrite driver code, move to driver.py, introduce system builder classes

Hey,

This is my (very initial) implementation of `SystemBuilder`.... very WIP, will continue to implement the ideas we discussed.

Thanks
:+1:  Otherwise, using None just obscures what you are actually using.