- use std::function instead of boost - use c++11 lambda instead of boost::bind in most cases - use std::bind in few cases where this deems more readable - use move semantics for passing of function objects
- many cleanups