Changes logic to store diffs in `git_diff` because the original has stored them in a list: ``` {1, 2, 3} => {added = 1, modified = 2, removed = 3} ```
Sometimes async process outputs partial data. Previously that data was processed imediatly causing wrong results. Now the data is processed after async processes finishes