Palette Sample app

Did you consider returning a separate Builder class here that contains the methods that act on ``current``? Doing so would enforce that ``title``, ``body`` etc. could not be called without an ``ActionGroup``. You could have your new builder return the original Builder with a ``build()`` method:

```java
new Builder(view)
   .swatch(VIBRANT)
   .body(...)
   .title(...)
   .build()
   .swatch(...)
```

Another alternative might be to let the user pass in multiple sub builders:

new Builder(view)
    .swatch(new Vibrant().body(...).text(...))
    .swatch(new Muted().title(...))
   .build()
```

Where ``swatch()`` could set the ``ActionGroup`` and call build().

Food for thought.