From a purely functional perspective, the
above code is all we need in order to implement our chat client. To help
improve the design-time experience in Blend, though, we'll also add a
constructor that checks whether we are in runtime or design-time mode, and
loads up our ChatSession object with "fake data" if it is being
hosted in a designer:
Figure 35

We'll see in a moment how this helps make it easier to
visualize data-bound data in the designer.