I think I like the singleton approach best. It makes sure the ctor does not get called continously and leaves methods still static.