Problem: QML bindings don't support "interdependent" classes
Solution: Restructure the bindings to add this support
Incidental: Corrected json usage issue in QML bindings