@dpk on the question when to use functional types versus callback interfaces. I would say, seperate interfaces only make sense when you really want to have a distinct name. if your interface would be called
Callback
, then just use the functional types with the added bonus of having the lambda notation available