get_all_variations: return an empty dict in the list if there are no
properties
Fix deprecation warning
The very basics of the plugin API
Implement event-based caching
Make use of caching