Improvements

So, there were some spacing fixes to keep everything together.

* added arg parsing so that you can control what port / solenoid etc. from the command line
* started a refactor to unify everything so there is less data being passed around (specifically the logger)