whole_func_string: function Intent(subject, op, target, data) {
    this.subject = subject;
    this.op = op;             // create | read | update | delete
    this.target = target;
    this.data = data;
  }
func_code_string: function Intent(subject, op, target, data) {
    this.subject = subject;
    this.op = op;             // create | read | update | delete
    this.target = target;
    this.data = data;
  }
func_documentation_string: todo: protect/freeze the attributes?