a) use existing uml2tools functionality (primarily the class and component
diagram at the moment)

b) extend uml2tools functionality to add elements described using
stereotypes (for instance a class element already stereotyped with a
custom stereotype). these components will be added to the palette so that
the they can be dragged and dropped onto the editor.

c) not alter uml2tools code so that future versions of uml2tools can be
used without affecting the extension and not requiring recoding of the
extension.

This should obviously take place in a new plugin. I've looked at the
examples in the help files (like helloworld etc) but have not worked out
how to extend plugins like uml2tools.

Please could someone describe how I should set up a plugin to do all this?