Separate out non-visual infrastructure classes eg. dependency injection, MessagingCentre, Position (from Maps) etc to an easily portable PCL for all platforms, even those not yet supported by Xamarin Forms.
No API changes - just a new nuget package eg. "Xamarin.Forms.Utils" and rearranging of code
Most Xamarin projects would now begin based on Xamarin Forms, and so it makes sense to adopt the utility and infrastructure classes from Xamarin Forms. Later however, when you decide some code needs to be more widely useable eg. on the server or Mac etc, you can't install Xamarin Forms nuget and so you have to refactor your code to use another portable DIC, messaging framework etc.
ModEdit - Formatting