I'm not sure if we should really begin the transaction already when it is created here. Wouldn't it be arguable if we should be able to have uninitialized transactions?

```php
$tx = $transactionManager->createTransaction();

// do something else

$tx->begin();
```

Not sure if there is a use case for this but I would like to leave this open for discussion at least :)