call dispose() on value change only.