Morph + Particle Animation - Best way to store the data

Hi

I have a setup where I am storing model data, these models can be reused by passing in a different ModelMatrix in the draw calls to allow the model to be drawn in multiple places. This means a single model can be used multiple times, all pretty standard I think. If there are any animation events such as standard transformation changes or the more complicated skeletal animation, this can be handled easily while still keeping with the single model being reused many times design.

That all works pretty well, I also have some animations which effect the vertex data directly (Morph animation and particle animation), with these my single model design principal kind of breaks down. The VBO data needs updating each frame which means the VBO is not generic any more.

An example which I have is a head that blinks. If I use this skeleton model multiple times I will have multiple heads but I would want them to all independently blink separately. So we come to the main point of the post. Is there a way to design things such that I can keep the single model being reused design? If not (this is what I suspect) are there any other ways, from a design perspective, that are more optimal than just loading up a new copy of the model each time?

Thanks

Ziozio