Move transaction helper to DS.Transaction