Introduce VariationDict to reduce duplicate code
Plugin registry