Workflow Refactoring

Rewrite the workflow methods. Some problems that should be also solved include:

The Loop does not work with simple data types (Integer)

An example is here:

The reason why the integer tada type does not work is that it is not wrapped in anything. The integer value is passed around. There should be an object with the value inside so that any change to the object would be refrected everywhere.