Refactor engine

Closes remaining Issues #2 and #4.
Finished Milestone v0.1 and should create release tag 0.1