Ничего тут заумного нет. Главное, это локализовано в одном месте. Рефакторинг не повел за собой изменение другого кода. Вариант перевода на id я рассмотрел первым делом, но это не рефакторинг, это полное переписывание всего затронутого кода и, что еще важнее, спускание в унитаз всех ранее написанных тестов, и написание новых.