object can register observable and become observer