stage::Stage now calls process() inside of run() function with currentNode properly configured to the node being processed. This allows for addDependency() to properly track dependencies.
Stage now keeps track of the set of ids the current (stage,node) tuple depends on. At the end of run() it will commit this set to the repository in the future.