Plugins

Add support for writing plugins