What about the changes package?
\documentclass[twocolumn]{article}
\usepackage[margin=1.5cm, columnsep=1cm,
paperwidth=14cm, paperheight=10cm]{geometry} % just for the MWE layout
\usepackage[xcolor={divpdf,grey},authormarkup=none]{changes}
\definechangesauthor[name={Exempli Gratia},color=orange]{EG}
\definechangesauthor[name={Dean Cavalier},color=green!50!black]{DC}
\definechangesauthor[name={Fran Meanbash}, color=red]{FM}
\begin{document}
\replaced[id=EG]{You are}{He is} so inefficient%
\deleted[id=FM,remark={Be polite, please.}]{ and idiot}
that you will be fired \added[id=DC]{ soon}.
\replaced{Have a nice day!}{ That's all.}
\newpage\footnotesize
\listofchanges[style=summary]
\end{document}

To hide all the changes if they are accepted, simply add the final
option to the package,
i.e., \usepackage[final, ....]{changes}
and you will have this:

Note that in the draft
version (default) you can also turn out globally the markup of deleted/added changes with addedmarkup=none
, deletedmarkup=none
and turn black individual changes providing a id
of a fake author associated with color black:
\definechangesauthor[name={Accepted}, color=black]{A}
...
\added[id=A]{accepted addition}
\color{...}
is durable until another change will occur. It's better to wrap in a group or a command\proofreadtrue
or\proofreadfalse
(or remove the\changemarker
wrapper finally for the approved portions