Subsription.add  returns StreamSubscription.
transaction return null on error an "OK" on sucess
TransationExecuter - untested - unproven
improved tests - largley