Split parser into multiple traits