From a slack conversation...
ok I could put the construction of the state behind a method BUT without extra work it would still have to expose the properties so it can be used essentially as a DTO. I can create a ticket so that it uses the visitor pattern so that A) it can be created with a factory and B) it can create a http.Request so that the Http Action can use it as opposed to integrate its properties. You happy for this to make it into a ticket or do you want it in this branch?
From a slack conversation...