Yes. I also think that this is doable. I think it just should store the following data in a time-table (for objects like models, sprites, camera and lights):
Following values could be interpolated between key frames:
- position
- scale
- rotation
- light color, intensity
Following values cannot be interpolated but activated:
- animation state
- name of a function / action to start (particle, script)
- material, texture to change
A timed player could start all those later in the game via function / action.