Chalk SDK The Chalk SDK is in development. Basically, plugins and extensions should not include anything from chalk/core, but only the headers from chalk/sdk. Problem: creating new paint devices, layers and images. You cannot, obviously, instantiate an interface, and we should not, equally obvious, code against implementations. The solution is a factory class that is made available to the plugin when it is created -- i.e, the parent class of a plugin should implement the various factory interfaces for paint devices, images and layers.