Move base plugin code into separate 'cashew' plugin.
Make from_json() implicit.