The NetworkBuilder has many setter methods that returns an instance of the NetworkBuilder. This allows fluent APIs. However, when this design is used, then the class should be made immutable, returning a fresh instance every time (for config-stuff, overhead is mostly irrelevant).