The one thing missing that kept this from being a perfect update:

The Interface has been move to Client-side dependency
Would have made it a perfect update.