Lots of halfway-written stuff
First pass. About to address some design issues.
Started writing tests, got a build process in place. Test failures; need to port data types to the new push() method
Many more changes, more tests (all of which pass atm, but this is almost meaningless), and changed build process