Reworked the WeightedDirectedGraph to use the Node encapsulation object,
this is untested and likely isn't working as expected at the moment.
Also, commenting of this isn't finished