Support using an inherited interface in Hub<T>

#3311