isn't this logic very similar to the TransactionalJournal?