From Sylvain Lecoy on DX: D8 Plugin writing:
I'm starting on my second major version of a custom D6 multistep form-based module with a few interesting requirements, particularly: