Refactored classes so AspectParser could be used separately.