Generalizes the options system (part 2)