Define instance properties in constructor, rather than on object prototype.

- Setting properties on a prototype is dangerous:
  if the any one instance changes their property,
  it will change for all instances extending from the
  same prototype.