Let's keep this as a dictionary, where the structure is:

{ key => [ response1, response2 ] }

this way we keep O(1) lookup time as opposed to using a predicate