Woah, I missed all the discussion while I was writing my post.
I definitely don't want to break any existing code, so I'll look into other solutions including changing the coding style of the pages, and an additional tcl proc.
Peter,
Reusuing ad_page_contract is probably not possible unless some parts of it are broken into seperate tcl procs. I'll have to look into this after 5.0 release.