Domain classes, better builders blog post.

Interesting example: here, the domain object subtypes are pretty visible. Is that the intention? Or so you see people calling the API call directly, without creating this intervening object and (thus) exposing this subtype?