engine: catchall handler is shadowed by specific handlers