A framework for implementing extended transactions