Transactional API

Change-Id: I283fed977095d4a6521e06d43042798a908170ef