I wrote a series of articles on using TVirtualInterface. Here are links to all the articles in order: TVirtualInterface: Interfaces without an Implementing Class TVirtualInterface: Next Steps TVirtualInterface: A Truly Dynamic and Even Useful Example