i still prefer to use cancelable callbacks whenever i can  if the factory is already there  why not use it stuff may get posted to message loop  then everything gets deleted and only then the message goes through the message pump and invalid callback may be executed 