Refactor transaction class

Lets create issues for these, and add them, so we don't have unimplemented functions.