After making a terrible mess of things, removed unnecessary classes.
Characters can be JSON'ed