Further parser cleanup
Extracted Piglet extensions into separate module