title: Catching up with 'require' for a metamodel class
body: <p>I have defined own metamodel class to create a special kind of classes. Now, I would like these classes to automatically register themselves with a special kind of manager. Basically, this would like like this (would only <code>compose</code> be called each time when class' module is being loaded):</p>
  
  <pre><code>use MyManager;
  
  class MyHOW is Metamodel::ClassHOW {
      method compose ( Mu \type ) {
          self.add_parent( type, MyParentClass );
          callsame;
          registerMyClass( type );
      }
  }
  </code></pre>
  
  <p>Then I have something like:</p>
  
  <pre><code>use v6;
  use MyClass;
  myclass Foo { ... }
  </code></pre>
  
  <p>in a module. Then there is a manager object which scans repositories/file system and <code>require</code>s modules with names matching to a certain pattern. Afterwards, it needs to know what <code>myclass</code>es are defined in each module. It could scan the symbol table of the loaded module. But this won't work if the loaded file contains multiple modules or no modules at all – like in the example above.</p>
  
  <p>So far, it looks like the <code>INIT</code> phaser would provide the solution, but I'm struggling to find how to get the body block of a class from within the <code>composer</code> method.</p>