Add IDPModelChanged state and related methods

Move observer methods to IDPModel protocol for object composition