Refactor version and fetcher classes