lambda expression is just a shorter way of
writing an implementation of a method
for later execution.

Passing a lambda expression to another function allow us to pass
not only values but also behaviors and this enable to dramatically
raise the level of our abstraction and then project more generic,
flexible and reusable API

Functional Interface : A Functional Interface is an interface
with just one abstract method declared in it.