I would consider making this a factory class rather than a static class with a static factory method. Factory classes are usually easier to test, easier to replace, and easier to add caching to without that cache necessarily being app-domain wide.