How to use Context Provider to avoid props drilling? Bonus, cleaning up multi-context tree hell using a Higher order Component.