Designing Immutable Concurrent Objects - Immutable Objects for Concurrency | OneNoughtOne