Joel, where I've seen semaphore before it's been to cover a SP or critical code that absolutely needs to be run by just one instance at a time. So you semaphore the resource to prevent simultaneous execution. I've not heard of it being used to wrap an entire user editing experience.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1