Childactions can contain donuts

We have been scratching our heads trying to get the cache to work with no success until I actually dug into the code. Maybe I'm missing something, but as far as I can tell things are utterly broken when donuts contain donuts. This change makes everything work sanely for us according to my testing so far.