Move late contribution fetcher to its own file