don't set id on prototype, instead manually observe the property.