Schema updates don't require a transaction, because when a transactional operation is required, a new (sub) transaction is created. Also, with the last changes, in order to replicate the creation of indexes, we needed to both listen for file changes and page changes. The solution was to embed a database change structure request in the TxRequest object.
Evaluate if makes sense to force the user to open a transaction for any schema changes. In this way, we could simplify the current workflow and store database changes ONLY in the TxRequest object.