What are the limits of event driven programing?