a result is a little more than just a PASS/FAIL:
1. we need to know what happened during this phase
2. we need to know how this affects the playing of the story
3. we need to know if there are any other phases we need to execute
*because* we have executed this phase
4. we need to know if there's a message to pass on to the end-user
perhaps it was much easier when we just hard-coded all of this?