I think the MapObject class should be abstracted into at least two classes. One for static map objects (trees, rocks, castle walls) and one for dynamic map objects (anything that needs to move or be animated).
This will allow us to utilize Ogre::StaticGeometry
http://www.ogre3d.org/docs/api/html/classOgre_1_1StaticGeometry.html
as described in
http://www.ogre3d.org/tikiwiki/Intermediate+Tutorial+5&structure=Tutorials
to handle things which don't need to be recalculated every frame (improving performance), while still allowing us to have movable/animated map objects. This is what I'll be doing for the time being as long as rogerdv doesn't object.