changed notification to be an independent object