IMO TransactionServices should also expose TransactionManager.
Since with AS7, which hides TM from JNDI, one cannot easily register XAResources:
public boolean enlistResource(XAResource xaRes) throws RollbackException,
or suspending/resuming current Tx.
Specially XAResources handling is a must to be able to enlist if you're doing some
non-trivial tx-based work.
This way the integration layer would make sure the TM is exposed as a CDI service.