Add binder.when(p).is(value).attach(IsWidget).to(IsPanel).
Change WidgetUtils.fadeIn/fadeOut to return the animation.
Add StubAnimation.isCancelled/isFinished.
Add binder.when(p).is(value).fadeIn(IsWidget).