Ideally we'd create a new Discoverer and call instance methods on that, instead of using class methods everywhere