I don't like this, but I do not know a better way. This method is called on any request, printing or testing the motion state. If you have a workflow with a lot of possible states, there will be one request for each state.

One solution would be, not to use this method, if it is not really necessary. At the moment you call it from state.get_workflow()