Use a class instead. Not being able to protect the default constructor is a killer for the safe usage thing...