allow router::before() to be invoked if no callback is passed