`discover_apps()` is called also outside `appohoks_pool`, thus `self.discovered` check really belongs here