Finish basic implementation.  Can call element.animate() to animate opacity