Solving square/workflow-kotlin#759 would make this a lot easier, but it's not necessarily a requirement.