Ah! Now I remember why there's delayed execution, it meant that we could have the bulk of the logic here, such as checking for privs, prior to making the call. This meant that all the other functions were as "dumb" as possible.

Still worth changing do you think?