Features to be implemented:

%% Graphs %%
- Cuts the graph in strongly connected components.
	S -> S_split = { S1, S2, S3, ...} where each S is a strongly connected system.
	- We need to map these systems to the original one.
	- The sum of all S can be smaller than S (if (S1 -> S2), then S1 + S2 = (S1, S2)).
- Problem with how we look at nodes: The idea that nodes are numbers in 1...NNodes is ok, but imposes a lot of constraints 
on the user. We should let him free of the number. Also, nodes might carry information.
If S is a path-dept, a node v \in S might tell us who is the ancestor in S^-1.
Either this, or we keep a map (tree) of how ancestors are managed.