Designing a CDK State Machine Builder - Part 1