Change the session backend to rely on Signaler to propagate its signals. Also introduce the Linkable trait to allow generic composition of objects needing to listen for signals.