Update CommandEvent to support filtering.

Also rearranging protocols, and creating a placeholder for the Juno
(agnie/JELP) linking protocol, which will be our first fully supported
protocol.