What about an Event Based Asynchronous Pattern - http://msdn2.microsoft.com/en-us/library/ms228974.aspx?
Sound like it could be useful, but not sure how practical it would be in game.