В качестве ключа можно использовать функцию. Это упростит код.