This being the first Javascript project of any appreciable size and complexity that I've undertaken, things were starting to get a bit messy and twisted. This commit is the first of several that attempts to nail down a consistent naming approach. This commit is full of bugs that will have to sorted out in the debugger.