Why is TransactionManager an empty interface, Why hasn't the PlatformTransactionManager open transaction abstraction method