It would be slightly better to use `Environment<>` to0 avoid the impression that `Factory` is templated.