http://ocramius.github.io/blog/fluent-interfaces-are-evil/