From Vassil: only commit what endTransaction() returns.
Tell the new transaction what its parent is.
No nested transactions for initializers! (Test coming up.)
Only run initializers (of all committed transactions!) if topmost.