You could define `SetUpstreamTo()` as an extension method for convenience, but expose all the possible mutations for `BranchUpdater` as properties.