This past week Michael J. I. Jackson blogged about a realllly slick widget he'd written called Shadowbox. As far as I know, it is the first in what I would enjoy seeing become a trend: Toolkit agnostic "plugins".
All of the open source toolkits are pretty evenly matched as far as core functionality is concerned. All support the major browsers, do event handling, style normalization, and [most] with style animations. Michael has taken advantage of that fact, and has written the exceptionally elegant Shadowbox without the help of any [or all] the available JavaScript libraries available. Fundamentally, toolkit selection boils down preference in coding style. Each has other "value-adds" (in the case of Dojo: build, package, dijit, it goes on and on), but at the root, all are simply trying to make everyday web-ness easier, and more pleasant.
The first thing I think when I see a widget this elegant is "I bet I could write something like that with Dojo".
Thankfully, the hard work had been done already.
The Shadowbox works by way of miniature toolkit-adapters: a small piece of code defining the API it needs and wants, and the toolkit plugs in "it's way of doing things". When I say "hard work" I mean just that. The only real thing the adapter needed to do was: know the value of a style property, create an animation to a property, and add/remove event listeners. Dojo (and everybody else) does all that with relative ease. Making the widget pluggable in this way is awesome. You can use this new cool widget with whatever toolkit you already use, provided it ships with an adapter.
Sadly, at the b2 release the Shadowbox didn't come with a Dojo adapter. I downloaded the release, poked around, and within 30 minutes had plugged in the "dojo way" of the required API, and to reflect the beauty of the open source model, submitted my work to the author. The b4 release of the Shadowbox now ships with a Dojo adapter.
Simply follow his well-written instructions, follow the examples, and viola ... Shadowbox with your already-dojo-enabled-page ... add a dojo.provide() call to the top of shadowbox.js, and you can minimize and and roll that code into your existing build profile, too.
The principal is beautiful. A big thanks to Michael J. I. Jackson for this great piece of code for everyone to enjoy -- and a call to arms for anyone with their own code worth showing. This is a good model.

Great
It's sounds great.
I have been looking a long time for such a solution.
Best regards
Loky