Steps history tracking


Current solution is based on CanEnter method, which recurisevely determines whether step can be visited (it proves there is a path in the graph from initial node to the one being analyzed). To optimize the process and also in order to allow reversing flow state easly we should track step history. It should not only include identifiers for visisted step but also snapshot of flow state taken when entering them. This way we can always reverse the flow state to its previous version easily.

Consider serializing lambdas.