I found using this pattern to force `this` to be the object literal in the object literal quite hard to follow. Any reason against using a full object with a prototype?