Create an engine that supports multi-dimensional chess variants. Provide a clean API for implementing rule-sets in YAML.