The only change that I see would be placing MobilObject under StaticObject. This only makes sense as they both require a world position, a state, and most likely a modle or texture. The difference (in my eyes) would be the movement and changing of modle (or mesh) states and applying physics (witch still may exist in a static object, for example a spinning crystal is pretty static).

Just my two cents