fix bug with observers leaks