i feel that quite often singletons are abused because theyre easy to understand by everybody theyre used as 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