ObservableDeferred
Now that `Deferred` is a generic class, let's update `ObeservableDeferred` to follow suit.