Refactor fetcher registry

Now real & virtual methods are both validated by the same function, so
there is no more need for separate real & virtual fetcher registration
functions.