All concurrent operations should return immutable objects

Immutability plays an important role when dealing with concurrency, for this purpose we should ensure that all the operations returns an Immutable Object.

We can discuss about this feature, but IMHO this is the way to go.