add CriticalError for logger.critical (no tests yet)
make data param have default for convenience
move from CriticalError back to sys.exit
add mocking for logger.critical to check for call