make weakcallback work with boost