Add CSS transition support

The more I think about it, the more I like this. Of course, my thoughts on it are as narrow as our current component collection. Hopefully this pattern stands the test of time.