Signal propagation after topological sorting

Tries to address #4 .
Why use a global `Dict` when you could just store the rank in the `Signal`?