Improvements for deterministic behavior -- but still small amount of indeterminism remains

Agents are now started in a deterministic order
Events are triggered in a deterministic order
Improved use of Java collection classes for performance
Minor cleanup