If you want to play with it before I commit it, here is the CS file so far. It's very raw but you can see what it does. The methods still have the color parameter but they end up being ignored, so just remove it or use any color. And it's using FadeImage2 to create the fade at the moment. FadeImage2 will end up being FadeImage when I commit of course. I'm about to start working on the cleanup so I can commit but I'm a slow typer. 
edit: removed attachment - now committed to svn

edit: removed attachment - now committed to svn