minor: use methods to set and mutate options to reduce repetition

CodeClimate made us realize that we could put the setting and mutating of options into their own methods.

This pull request adds two methods: #set_options and #mutate

#set_options returns a new Scope with the new option value set

#mutate updates the options instance variable on the Scope itself