add documentation explaining how this decorator actually works.  something like: """It passes a lambda function to the transaction object that wraps the actual HBase action.  When the transaction object invokes the lamdba, the transaction object passes in a connection."""  

While I like the use of a decorator, I find it confusing.  Normally, decorators just modify a function and return it.  In this case, it appears that the decorator actually invokes the function, too.   At the end of each of the methods that use this decorator, there is a `return transaction`  This looks like it is returning a function since `transaction` is the name of the decorated function.  However, it appears that `transaction` at that point is actually not the function, but the return value of the function.  Is this correct?  

There's got to be a better way of naming (or commenting) that can make this clearer.