TMessageReceiveEvent = procedure (ASender: TObject; AMsg: String; var VHandled: Boolean; var VReply: String) of object;