Obviously, we can refactor this further, but it would become a more extensive change.