<?php

class ModelDef
{
  public array $OnChange;
  public string $Title;

  function __construct()
  {
    $this->OnChange = array();
  }

  function DoOnChange(): void
  {
    foreach ($this->OnChange as $Callback)
    {
      call_user_func($Callback);
    }
  }

  function RegisterOnChange(string $SysName, callable $Callback): void
  {
    $this->OnChange[$SysName] = $Callback;
  }

  function UnregisterOnChange(string $SysName): void
  {
    unset($this->OnChange[$SysName]);
  }
}
