Swamy - this looks interesting.
One simple thing I have found that seems to make all of this a little easier is to use Groups for your Setup Participants allowable selections, not Roles. This seems to give a little more flexibility - Roles just seem to be very rigid in regards to the Setup Participant task type.
Best regards,
Kevin Alexander
Tristar