There is a missing step:<p>Rewrite library to use dependencies that are a result of all the other libraries going through this step.<p>I have had programs that used 3 different utility libraries with largely overlapping features, despite having none of them as immediate dependencies.