C# object-oriented design pattern talks-created mode