Functional API design with Java 8 and lambdas.