synchronized observer