I think they can go into the InterceptedMethods phase (i.e. the class). Just like Definitions, phases can obtain the current context in the class constructor and make the lazy vals depend on that context. And I agree that phase-specific symbol sets are better kept in the phase.