unit special_buffers; { TODO is this nice? maybe do instead: controller: fBuffer.Modified := Self.ProcessModification; ProcessModification: fModifiedP := True; // in this case, "fModifiedP" is in the Controller, not in the Buffer. fView.DisplayBufferChange } interface uses buffers; type TFileTextBuffer = class(TTextBuffer, ITextBuffer, IInterface) published property BModified : Boolean read fBModified; end; implementation end.