Refactored out const fields

In preparation for the serialization step.

And I'm pretty sure someone will ask, so:
Interface fields have implicit public static final modifiers and this is a
common pattern for declaring constants.
Merge remote-tracking branch 'upstream/master'
Whoops it looks like I did fail to merge

Should be correctly merged now... hopefully.
Rename typo
Merge pull request #166 from maxqchen/master

Refactored out const fields