Make class level instance variables in category and make attr readable
Refactor more logic into choose_first_in_range private method