en.wikipedia.org/wiki/Multiton_pattern
en.wikipedia.org/wiki/Immutable_object
Извиняюсь конечно но если нужны именно одиночки — юзайте Multition (онже пул одиночек), если хотите чтоб менялось состояние объекта который вы создали 1 раз — юзайте неизменяемый (Immutable)