updated opaque
prefer method override over KVO for simple update propagations
removed extra spaces
typo