saveObject() {
        var data = {
            x: this.x,
            y: this.y,
            id: this.id,
            label: this.label,
            labelDirection: this.labelDirection,
            inputNodes: this.inputNodes.map(findNode),
            outputNodes: this.outputNodes.map(findNode),
            version: this.version,
        };
        return data;
    }
Returns a javascript object of subcircuit data.
Does not include data of subcircuit elements apart from Input and Output (that is a part of element.subcircuitMetadata)