Add EventQueue and refactor router frontend to use client/cache

Should log here like the add/modify.