internal static void HandleError(ErrorType type, string message)
        {
            string logLine = $"{type.ToString().ToUpper()}:  {message}";

            errorLog.Add(logLine);
            TextWriter.AppendFile(FilePaths.errorLogFilePath, logLine);

            switch (type)
            {
            case ErrorType.Log:
            {
                Debug.WriteLine(logLine);
            }
            break;

            case ErrorType.Alert:
            {
                Debug.WriteLine(logLine);
                Messenger.Show(message, "Error!");
            }
            break;

            case ErrorType.Critical:
            {
                Debug.WriteLine(logLine);
                Messenger.Show(message, "Critical Error!");
                //TODO(adam): abort from here?
            }
            break;

            default:
                throw new ArgumentException("Invalid ErrorType.");
            }
        }