Refactor transactions so they don't add and then remove themselves on first checks.
Also prep to resolve race conditions with allow