First state of UI rewrite, reimplemenation of agent status displays

@abnanda1 @DamianEdwards @davidfowl @moozzyk 
do we expect the `newValue` to be ever null? if so, is it useful at all? I have got a feeling that the caller should not ever pass `null` here or `null` is a correct thing to pass and therefore shortcircuiting may not be correct...