-`Enumerator` is used to list resources of a given type from a given remote and return a resource list, it should exist only one Enumerator per resource
-`DetailsFetcher` is used to retrieve resource's details of a given type, this is an optional layer and is used only in deep mode.