don't rerender context widget if its context has not changed