WIP Refactor into using free monad w/ interpreters
Add Travis CI support