A container for a value that can have a default value and can be manually set
Create a copy with a new default value
Create a copy with a new explicit value