I would prefer to have all methods in this class start with "set" instead of "with"(as in #98). It will clearly indicate that there will be mutation.