json parse, callback style, and prototypes

JSON.parse can throw an error, if this happens in the current codebase, the cb function will not be called. Instead unhandled JSON parse errors will bubble up as unhandled exceptions to the main process.

NodeJS callback style is (error, args...). So, null should be passed for error if there is no error.

Using object prototypes is a way to define objects. It isn't necessary, but it is common style for creating an object with properties that refer to "this".