The Way of Delphi: Reusing Objects, Components, Properties and Events