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.
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