Opening drill
Immutable object design and controlled mutation | Aporeon