Moved transaction support to base class.
Started filling in transaction code.
Added a few transaction TODOs.