Moved around and redefined some interfaces in preparation of the storage/transaction refactor