The current object model does not make for nice and easy plugin development. Some issues include:
Setting the title of the COM addin in the options page:
To set the title using VSTO you have to have code like this, which is rather unnatural:[System.Runtime.InteropServices.DispId(-518)] public string Caption { get {return "SSW eXtreme Emails";} }
Throw out backwards compatibility and start a fresh. For example, you should be able to inherit the contacts page and change the way it looks and add extra functionality to it.