Create integration tests for callbacks and ensure that when we are dealing with a checkpointed callback, then for every possible state that a callback is in, we follow the correct behaviour.
- Terminated and not successful => fail
- Successful => return the correct value
- Pending / Started => suspend