It has great uses. I'd think it similar to GLOB's. You can universally create one object and keep it for one use. Such as database handles or statement handles. Anything expensive tocreate and you can provide some sort of reset() to change the state back to its original state before use AND is thread safe.