This looks like it could be modelled by a petri net. Your states are typed tokens, and tasks (ie transitions) are triggered by the presence of tokens and produce tokens as output.
IMHO petri nets are the most widely applicable method for modelling concurrent processes that I've seen yet.