[Interface comment] Wow, I have no idea why we have separate names and keys in the filtering, and looking at the other implementations isn't helping me out — one of them is comparing against the name and ignoring the key, one is comparing the name and setting the key, and here we compare the key and ignore the name. What is supposed to be happening?