Java 8 Lambdas: Functional Programming For The Masses