[decoupled] increase flexibility of some functions
The calls to several functions are hardwired to the base class. By using asImp, some of those calls are now forwarded to the derived class, if applicable.
The calls to several functions are hardwired to the base class. By using asImp, some of those calls are now forwarded to the derived class, if applicable.