i feel that quite often singleton are abused because theyre easy to understand by everybody theyre used a a mechanism for getting global data into an oo design and they are used because it is easy to circumvent object lifecycle management or really thinking about how you can do a from inside b