Revamp plugin to class format

A bunch of functions, while consistent with the docs, wasn't sitting
right with me.
Add basic forum rendering to the plugin