Signal propagation after topological sorting

Tries to address #4 .
Okay, that actually resulted in 4 lines less code :) c26c97b00ee503f1d10aff81cc0d011e9e877a10 Thanks! Okay, I'll resist from doing this Dict thing again (pardon the slight mental disorder ;) ). 

I guess I am just scared of letting code outside the library being able to so easily edit rank. I wish there was a way to make the signal object immutable except for the value field.