Modelling Multimodal 3D Virtual Environments with Asynchronous Multi-Agent Abstract State Machines