Added base class polymorphic dispatching with CRTP