Published to npm as model-component
Refactored observer into standalone component