I use a Google Talk status plugin (written for Locale) with Tasker, and the one thing I miss from Locale is the priority order of situations. That is, if I'm driving, then set status "Driving", else if I'm at work, "At work", else if [...] else "Available". (Locale does allow multiple situations to be active, but each type of action (e.g. Google Talk) will only get run once.)
I'm struggling to replicate this in Tasker. The priority setting on a task seems only to affect the order in which multiple tasks are run, whereas I'd like this particular plugin to be run once per situation-change, with only one status (the one with highest priority) even if two situations are active. I also lack a place to put the default "Available" setting (exit tasks aren't really suitable).
Example: I start driving to work. Status "Driving". I get near the office. Status should still be "Driving" (highest priority). I arrive and disconnect from the car. Status should now be "At work".
...whereas if I naively put the plugin in each situation and set exit tasks of "Available", I will instead get "At work" when I get near the office, and "Available" when I get out of the car (from the exit task of the Driving situation).
I'm reluctant to go back to Locale because Tasker is more flexible for the other conditions and settings I'm using, and because it has more built-in conditions (e.g. power source mains/USB), meaning fewer Locale condition plugins need to be kept running in memory.