Refactored the internal mechanism to user an AST. Much cleaner now! Also...

... changed the name to track_parser