I don't understand this change exactly.  I wonder if what you really want to do here is create a new parser.  Do you have a model for having the parser work like this?