Scope doesn't impose any rules around mutation of values store in the Scope.
If you add an immutable object such as a
Stringto the Scope then you won't be able to change it.
Values cannot be added or removed from the Scope after the Scope.run method is called.
However if you add an object such as a StringBuffer as a value then you can mutate the contents of the StringBuffer as you would normally do.
You can add any type of object into a Scope including objects based on your own classes.