My first reaction is that I'd use a Statechart branch element. See my example.zip file here:
http://drop.io/efg2vkd
the agent enters the statechart, hits a branch, exits the branch based on the results of the getInitialState function.
This returns a random integer, 1-6. You might have the startup code for the agent itself make a decision about initial
state, though, and just have the getInitialState function return the information.
Let me know if you have any questions about my example.
/willy

