Split the API specific models out from the workflow models to help me keep this straight. Added tests to help me understand the errors thrown the and resolution path when a workflow specification changes in the midst of a running workflow.