public override ServiceSkel CreateSkel(object obj)
        {
            string objtype = RobotRaconteurNode.GetTypeString(ServiceSkelUtil.FindParentInterface(obj.GetType()));
            string objshort;

            if (CompareNamespace(objtype, out objshort))
            {
                switch (objshort)
                {
                case "baseobj":
                    return(new baseobj_skel((baseobj)obj));

                case "subobj":
                    return(new subobj_skel((subobj)obj));

                default:
                    break;
                }
            }
            else
            {
                string ext_service_type = RobotRaconteurNode.SplitQualifiedName(objtype).Item1;
                return(RobotRaconteurNode.s.GetServiceFactory(ext_service_type).CreateSkel(obj));
            }
            throw new ServiceException("Could not create skel");
        }