add support for before/after controller methods, improve documentation