type
  TMyObject = class
  private
    FEvent: TNotifyEvent;
    FValue: string;
    procedure SetValue(Value: string);
  public
    constructor Create; override;
  published
    property Value: string read FValue write SetValue;  
    property Event: TNotifyEvent read FEvent write FEvent;
  end;procedure TMyObject.SetValue(Value: string);
begin
  if Assigned(FEvent) then FEvent(Self); 
  FValue := Value;
end;