Because the JavaScript prototype pattern can be confusing