Would be nice to expand on provider patterns adding createElement and cloneElement patterns with their differences, especially around proptypes.