pupil constrained to a surface I want to break away from sphere based eyes where I can set the iris/pupil to constrain to a mesh ( which would have some roundness, just not a sphere), and can be moved around with a typical of tracking rig set up.

Anyone have a quick walk through?
Check this out: 

I will circle back around to polish the build instructions, but the things that make this work is adding a shrinkwrap constraint to the location of the empty (that is being rotated in the following animation), parenting the Iris/Pupil mesh to that Empty, and adding a shrinkwrap modifier to bend to the shape of the eyeball (the trick on this one is to set a small offset, and check keep above surface).

For an extra, I added a shapekey for the pupil dialation.