I have used this arrangement
unit xxx
interface
type
TSomeClass = class
public
property Instances: Integer read _Instances
end;
implementation
var
_Instances: integer;
end.
By putting the _Instances variable into the implementation section you
preclude another unit's messing around with it. But the class (defined
in
the save unit can mess with it).