The only programming comment I could give, based only on your movie, is to avoid infinite loops. Use events instead "While the world is running ...."
Alice seems to run better using events in this way and it gives you a cleaner design in your methods.