boost::shared_ptr is good, our naming convention is to prefix member variables with m_