whenChanged
whenChanged, whenDefined