Add Setter and AppliedSetter
Simplified option syntax
Move Setter implementation to companion object