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:

Figure: It takes a lot of effort to change the name of the tab in options
[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.
- 