Added an explanation for how with_metaclass works