Use observer to track dom changes