move the portage facts creation to dedicated classes to avoid code duplication