anchor.diff:  - From there the click event can be propagated in many ways, but I like Java 8 so let’s
   define a functional interface MessageClickListener.
   
  +[source, java]
  +----
       @FunctionalInterface
       interface MessageClickListener {
           public void messageClick(MessageComponent source, Message message);
       }
  +----
   
   Add MessageClickListener parameter to the constructor and call the listener in LayoutClickListener.
   
  -
  +[source, java]
  +----
       public MessageComponent(Message message,
               MessageClickListener clickListener) {
           // … 
           addLayoutClickListener(
                   event -> clickListener.messageClick(this, message));
       }
  +----
   
   - Fix the FolderView message population to include this new MessageClickListener. So instead of 
   MessageComponent::new call this::createFromEntity.
   
  +[source, java]
  +----
       private void refreshFolder(String folder) {
           removeAllComponents();
           messageFacade.getFolderMessages(folder).stream()
  
positive.code: I need to mention one important thing: If you were to use this same approach in any larger data set,
  you would have to implement data paging. Here we loaded all items to a layout, but you can imagine what
  happens to the server’s memory usage and the browser’s capability to display the items if the data set gets large.
  With DeltaSpike paging can be implemented easily using QueryResult<E>. After your data source implements paging,
  you only need to add UI controls for getting the next/previous page of data.
  
  
negative.code:         messageFacade.getFolderMessages(folder).stream()
                  .map(MessageComponent::new).forEach(this::addComponent);
      }
  ----
  
  Ok, so now the message listing is working, but the message unread indicator is not colored for the unread messages
  and all the messages have the same indicator icon. Let’s fix that.
  