Feature new stage ui

either way, we had to modify a workflow with a list of stages. This seemed like the way to do it. It accepts a list of objects because it throws a fit otherwise and casting anywhere other than in the setStages method in the workflow class itself wasn't accepted