Add EventQueue and refactor router frontend to use client/cache

I don't think that is does if we use the uid does since it's read-only.  Thoughts?