This class can be used outside of extensions, it should not be part of the extension package.