The CLI fetch tool logic is replicates the main app's fetch logic to a large degree so we should unify the code with module(s) in the main app. This code should have decent test coverage.