Re-unify connect and weak_connect

All handlers are now internally replaced by `Observer` objects. This
theoretically allows to customize the behaviour of the `Observer` more
flexibly.