the mop (meta object protocol)