Figure 1. "Wrappering" Legacy Code. When wrappering code artifacts for reuse, the wrapper should provide a public interface for the artifact while hiding its proprietary functionality and any architectural flaws.