Hi Peter,
<snip>
No, boost::bind( f, x, y... ) stores copies of f, x and y. Use ref(h) to
make it store a reference. See the last paragraph of
http://boost.org/libs/bind/bind.html#with_functions
You might also consider using shared_ptr<holder> unless you have the
lifetime issues already figured out.