Add EventQueue and refactor router frontend to use client/cache

There definitely should be, yes