complete refactor

  - more objects to better model domain
  - pass in json config to Server object
  - abandon use of writable stream to transform json
  - more TODOs