public virtual void Apply(Context context)
 {
     //Copy some specific data
     InputMessages.AddRange(context.InputMessages);
     OutputMessages.AddRange(context.OutputMessages);
 }