Add predicates to Transaction for checking allowed actions. Also raise errors when action is not allowed.