Add spec to ensure errors are propagated in callbacks.
Change to sync dsl and observer.
Add error type.
Ensure valid transition object.