#795: allow View::listen to be a function

As I noticed in #795, **both** ```events``` and ```listen``` should allow to be defined as functions