1. A method of processing user input, the method comprising: receiving a first input having a first modality; determining, with at least one processor, a first temporal window for the first input based, at least in part, on first data stored on at least one storage device, wherein the first data indicates a duration of the first temporal window associated with inputs received via the first modality; receiving a second input from the user having a second modality that is different than the first modality; determining whether the second input is received during the first temporal window; aggregating based, at least in part on whether the second input is received during the first temporal window, the first input and the second input to obtain an aggregated input; determining whether any portion of the second input is received after the first temporal window has expired; and wherein aggregating the first input and the second input comprises aggregating the first input and only a portion of the second input received during the first temporal window.