I get the feeling that these issues are happening because you are working a little bit against Rails and OO here. I think if you structure the classes similar to how they are in reality, everything will fall nicely into place. Generic "scrolls" keyframes > FlmsKeyFrames (or LayerKeyframes) > Layers.