This factory could be used out of context by the users of the package - additionally, IDEs will complain on this code.