pushed the transaction up a layer to support transactional auditing in the management api