I'm not sure why we're mixing here static and self calls. For example we call static::purgeCacheDependingOnCats, which then calls self::getCategoriesFromTitle.