Abstracted transactions, closes #4
Refactored Time.js, resolves #7
More refactoring. Resolves #5