I think I'm passing the state along correctly here by having it stored in the DiscardableAction ... though I have not spent enough time to unit test all of the scenarios.