best practice for using core base functions (CRM_Utils_System_Base) from an extension?
This base class is not intended to be used by itself, but extended based on the CMS. CiviCRM will automatically give you an instance of the correct object which extends this base class. You can access it via the CRM_Utils_System static methods. For example:

CRM_Utils_System::appendBreadCrumb($something);


or

CRM_Utils_System::isUserLoggedIn();