I still wonder what why this variable needs to exist. Shouldn't this always just return self, i.e. `current_transaction == self`?