critical error cleanup

-re add obsoletes
-rename to CriticalError
-make the CriticalError public
-null checks
-inject the configure to use less statics