Extending the GH_InputParamManager and GH_OutputParamManager methods

Hi all,
I am wondering why the

GH_InputParamManager & GH_OutputParamManager are protected? I would like to write static extension for this method in a public static class like in below but not possible because of the protection…

            public static int RegisterParameter(this GH_InputParamManager pManager,ParameterName param, GH_ParamAccess paramAccess)
            {
                switch (param.ParameterType)
                {
                    case ParameterType.Mesh:
                        return pManager.AddMeshParameter(param.Name, param.Initials, param.Description, paramAccess);
                    case ParameterType.Brep:
                        return pManager.AddBrepParameter(param.Name, param.Initials, param.Description, paramAccess);
                    case ParameterType.Bool:
                        return pManager.AddBooleanParameter(param.Name, param.Initials, param.Description, paramAccess);
....
}