port to node. organize into classes. organize around a composition flow.
Merge pull request #2 from justin-endler/organize_01

port to node. organize into classes. organize around a composition flow.