Expressive middleware for node.js using generators