TransitionError is more for protecting the invariants
Make Task#call swallow errors