I have made the decision to redesign from the ground up a SDK for one of my clients. To allow interim use of old methods and use cases I will add a layer on top to mimic the old SDK. This pushes the users to move to new functionality by putting the performance hit on the deprecated functions rather than punishing early adopters of the new SDK.