def METHOD_NAME(class_, meta_type, permission, addview, icon, global_):
    setattr(class_, 'meta_type', meta_type)
    permission_obj = getUtility(IPermission, permission)
    interfaces = tuple(implementedBy(class_))
    info = {'name': meta_type,
            'action': addview and ('+/%s' % addview) or '',
            'product': 'OFS',
            'permission': str(permission_obj.title),
            'visibility': global_ and 'Global' or None,
            'interfaces': interfaces,
            'instance': class_,
            'container_filter': None}
    meta_types = getattr(Products, 'meta_types', ())
    meta_types += (info,)
    Products.meta_types = meta_types
    _register_monkies.append(class_)
    _meta_type_regs.append(meta_type)