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