please keep MemberwiseClone() and handle Callback additionally. Copying properties one-by-one is unmaintainable.