Generalized ViewModel to take a variable number of options
Simplification