make sure "after" blocks really run last

and make it self-documenting by changing class name
Merge pull request #2741 from rolandwalker/after_block

make sure "after" blocks really run last