Allow multiple callback regsitering

This allows multiple callbacks to be registered to both Streams and Inject rather than overwriting the last one on each #on_value call.

This is currently only additive and there is no way to remove callbacks but I think it provides a simpler interface for now.