Implements support for all engine types in JSON encoding/decoding Co-Authored-By: Juan <reduzio@gmail.com> Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>