GH-4 Add initial plugin system