Refactor: Lock methods throw TransactionExceptions rather than IOExceptions