This is the base of a parsed BBCode group. Various types of bbcode tags should be subclasses of it
A "tag" that doesn't close. For example, "hr".
Just plain text inside the bbcode. If something doesn't parse as anything else, it should fall back on this.
A tag that requires a closing tag and may have children, such as pchild[/p]
return null if you don't know what to do. You should consume data as you go, or leave it as it is if you fail