This whole function requires changing. We probably need only to invalidate this cache after any plugins-related changes, don't want to hit plugins list performance by crude cache removal.