Thanks for your thoughtful post! In Catalyst, there are two ways to define custom animations like what you're describing. The first way is to create states of your component with transitions between them, but that doesn't really feel like the right solution for your example, since conceptually the weather widget isn't changing state: it's still displaying the temperature, the only difference is that the temperature has changed. The second way is to use what we call an "action sequence", which is essentially a series of animations that is not tied to a pair of states. Instead, action sequences are executed whenever a certain event occurs (the designer picks which event executes the action sequence in Catalyst).
The finished weather widget would probably update it's temperature display in response to receiving new data from a web service. The designer probably isn't interested in doing the work necessary to hook up their project to a web service, and that would have to be done in FB anyway. So rather than using "real" data, the designer would probably like to author the animation and test it out by triggering it manually. Then, presumably, a developer would hook up the animation to an actual data source in FB.
You can do something along these lines in Catalyst today: to demonstrate and test the animation, you might add a slider component to your application. You can use the interactions HUD to play an action sequence whenever the slider changes (the change event fires whenever the slider's thumb is dragged or otherwise moved). In the timeline panel, you can add actions to the action sequence, causing a text display of the temperature to fade out and then fade back in with a new value. You can then test the action sequence by either previewing it within Catalyst, or by running your project and dragging the slider.
Our action sequences aren't quite what you're describing, though. They aren't parameterized, and they aren't as developer-friendly as a method call. I think both of these are very valuable qualities. How do you envision them working in the workflow?
Thanks again for your post!