In our approach, inputs to a module are stored in an input buffer with some finite time (or history) window, thus buffering them for a particular length of time. Generic behaviors, which are essentially quasi-autonomous processes, can then get the inputs they need as they need them. Outputs are similarly buffered, again with a defined time window. At a particular interval (different for each layer), the output arbiter uses the latest output of each active behavior to decide what the module's output will be for that time interval. The EAVE architecture defines hierarchical control loops, one per layer; we believe the intervals to be useful to ensure stability of the control loops at each level. Part of the work on this project will involve determining if this is indeed useful, or if behaviors should be allowed to communicate asynchronously.