Refactoring to replace the existing metaphor with the CustomComponent metaphor.