Plugin system implements #27