Hello everyone, I was wondering about the usefulness of a manager class when all it really is is a wrapper to a map. Right now I'm using boost serialization to serialize the entire manager class because I find it easier to do that. But I'm wondering if I really need a manager class at all as opposed to just a simple container.. Can anyone shed some light on this issue?

Code:
class Object_Manager
{  
public:
	Object_Manager() {};
	~Object_Manager() {};

	typedef boost::shared_ptr<Object> Object_Ptr;
	typedef boost::weak_ptr<Object> Object_Observer;
	typedef std::map< std::string, Object_Ptr > Object_Map;

	void Add_Object(const std::string & name, Object * pObject)
	{
		Object_Ptr Raw_Object(pObject);
		mObjects.insert(std::make_pair(name, Raw_Object));
	}

	Object_Observer Request_Object(const std::string & name)
	{
		Object_Map::iterator  it = mObjects.find(name);

		if (it == mObjects.end())
		{
			std::cout << "Internal program error, " << name << " does not exist!" << std::endl;
		}
		else
		{
			return Object_Observer(it->second);
		}
	}

	void Request_Object_Removal(const std::string & name)
	{
		Object_Map::iterator it = mObjects.find(name);

		if (it != mObjects.end())
		{
			mObjects.erase(it);
		}
	}
private:
	friend class boost::serialization::access;
	template<class Archive>
	void serialize(Archive & ar, const unsigned int version)
	{
		ar & mObjects;
	}
	Object_Map  mObjects;
};
Do I really need this big ol class just to wrap a map? Or can I get away with just having maps and still be able to serialize them?