added a base class to the lib for consolidated activity tracking