The challenging part is the process is actually integrating an onboarding system into your app - doing the right thing at the right time in a way that looks seamless/intentional and works consistently. If you want to build a successful solution, I think this is probably the hump you're going to have to get over. No product out in the market is perfect, because everyone wants something different, and generic products are easier to extend/change. Make sure you aren't building YOUR version of an onboarding system and expecting others to buy into it - they probably won't.