factories should not return ienumerables, otherwise objects get remapped all the time