*broke the parser in to parse and parseBody to allow for non tag parsing.
*updated parser.
*Added tag functions for 3 steps of tag lifespan.
1) reusable tempalte.
2) validation
3) rendering