return new objects instead of publishing set
no locking necessary!