Using interface instead of the concrete type of a button.
Simplified the way we create platform services - instead of custom magic with loading assemblies, we now use MEF with a simple export provider that allows us to specify "default" exports that are used when there are no other exports. This way, the code that uses the platform services doesn't know that it is a platform service and can import them like any other service.