Experimenting with some java concepts I always wanted to improve on: Immutable classes, dsls, static builder/factories...