1. A method performed by an API for exposing a transacted function that is applicable to a resource, the method comprising the steps of: taking a transaction as an explicit parameter to the function; creating a transacted handle to the resource, the transacted handle being bound to the transaction so that all operations performed on the transacted handle are transacted; and exposing the transacted handle to a transaction client so that the transaction client may manipulate the resource though the transacted handle, or access the resource through the transacted handle.