Use std::shared_ptr instead of boost.