I wonder whether this line should be moved up, so the parent block's save() is called before the child's.  I don't know why that would matter, but it seems more "right" somehow.