Make event handler public.
Refactor file.
Create new inserter objects even when parts are reused.

This fixes a bug where a reused part doesn't create inserter objects.
Remove unneeded files.
Build updates
Remove unneeded files.
Have objects implement Instance interface to manage runtime cycle.

Instance interface allows the runtime cycle of objects to be managed. 
Useful cleaning up objects when they are destroyed or no longer needed.
Might also help the Garbage collector. Also useful for stop services
and disabling the plugin properly.

Delay semicolon insertion to reduce interference when typing and also
to eliminate unnecessary error checking and processing.