Delegate recursively

Here's my attempt at fixing #305 (which by the way obviates my need for #359 to be fixed)