Update the datasource API: Use TransactionManager and Locks