Lessons learned from mixins, render props, HOCs, and classes.