Removing a tcz sounds like a simple task. Have a script check the extensions dependencies, see if they are
required by any other installed extensions, and simply remove them if they are not required, right? Wrong.
What if one of the dependencies is a stand alone application that you want to keep. Here's an example:
You install gcc.tcz to compile some programs you are working on. You decide to try an IDE so you install
codeblocks.tcz. Then you decide codeblocks isn't right for you so you uninstall it. Since gcc is a dependency
of codeblocks, your compiler will be removed. Without human intervention, the script has no way of knowing
you want to keep this application. No tool could know this. That's why AppsAudit shows you a list of which
dependencies will be removed and gives you the opportunity to modify that list. Although not with those
particular two extensions, that is exactly what happened to me once. That is one of the problems an SCM
can potentially solve. Another thing an SCM addresses is when an application needs a specific version of
a library that might otherwise conflict with the default library installed on the system.