allow dispatching by polymorphic class id