Refactoring, adding JavaDocs, service and cache are singletons, first run after startup doesnt fail, gave stops its own controller