Designing Immutable Concurrent Objects - Immutable Objects For Concurrency | OneNoughtOne