Add EventQueue and refactor router frontend to use client/cache

This isn't handling namespaces?  Needs to.