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 – Dec 28 '15 at 10:19\proofreadtrueor\proofreadfalse(or remove the\changemarkerwrapper finally for the approved portions – Dec 28 '15 at 10:38