Use promises to allow loading message during file parsing.