Added ability to define multiple traversers that run in seperate phases of the compiler