Moved permission triggers into seperate class for clarity.
Added ExtensionCache.
Added tentative caching system.