Rework errors. Use maps so we can extend the error info with file and line number if possible.