repeated call substituted by var in func scope
value available on instance
DRY: similar code in private/inner scope method
DRY: action on correct answer
use data structures instead of case branching
starting to look like a new object type
SOC: new obj type - Category