public function virtual(string $name, string $type, callable $callback): void {
    $this->virtuals[$name] = new VirtualField($name, $type, $callback);
  }
public function virtual(string $name, string $type, callable $callback): void {
    $this->virtuals[$name] = new VirtualField($name, $type, $callback);
  }
public function virtual ( string $ name , string $ type , callable $ callback ) : void { $ this -> virtuals [ $ name ] = new VirtualField ( $ name , $ type , $ callback ) ; }
Adds a virtual field to the `Entity`.  The `callable` will be executed whenever
the virtual field is accessed, and passed the `Entity`.

@param  string    $name
@param  string    $type
@param  callable  $callback
Adds a virtual field to the Entity . The callable will be executed whenever the virtual field is accessed and passed the Entity .