ideally our applications would be immutable in nature after `New()` is called we should come up with some examples of how to do this