more ways to define middleware
other calling style for middleware that preserves 'this'