Int Object Monitoring

I am trying to monitor an int object for changes in c#. Below is my code. I am looking for a new solution as this does not scale well and each time I want to monitor and object I need to create a new class.

< [FONT=Courier New][SIZE=2][FONT=Courier New][COLOR=blue][COLOR=blue]delegate[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]void[/COLOR][/COLOR] [COLOR=#2b91af][COLOR=#2b91af]StateChangeHandler[/COLOR][/COLOR]([COLOR=blue][COLOR=blue]int[/COLOR][/COLOR] newGolferID);[/FONT][/SIZE][/FONT]
 
 [FONT=Courier New][SIZE=2][FONT=Courier New]    [COLOR=blue][COLOR=blue]static[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]class[/COLOR][/COLOR] [COLOR=#2b91af][COLOR=#2b91af]Golfer[/COLOR][/COLOR][/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]     {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]        [COLOR=blue][COLOR=blue]private[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]static[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]int[/COLOR][/COLOR] _GolferID;[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]        [COLOR=blue][COLOR=blue]public[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]static[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]int[/COLOR][/COLOR] GolferID[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]         {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]            [COLOR=blue][COLOR=blue]get[/COLOR][/COLOR] { [COLOR=blue][COLOR=blue]return[/COLOR][/COLOR] _GolferID;  }[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]            [COLOR=blue][COLOR=blue]set[/COLOR][/COLOR][/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]             {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                [COLOR=blue][COLOR=blue]if[/COLOR][/COLOR] (_GolferID != [COLOR=blue][COLOR=blue]value[/COLOR][/COLOR])[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                 {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                     _GolferID = [COLOR=blue][COLOR=blue]value[/COLOR][/COLOR];[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                     Properties.[COLOR=#2b91af][COLOR=#2b91af]Settings[/COLOR][/COLOR].Default.golferID = [COLOR=blue][COLOR=blue]value[/COLOR][/COLOR];[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                     Properties.[COLOR=#2b91af][COLOR=#2b91af]Settings[/COLOR][/COLOR].Default.Save();[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                     notify();[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                 }[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]             }[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]         }[/FONT][/SIZE][/FONT]
 
 [FONT=Courier New][SIZE=2][FONT=Courier New]        [COLOR=blue][COLOR=blue]private[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]static[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]event[/COLOR][/COLOR] [COLOR=#2b91af][COLOR=#2b91af]StateChangeHandler[/COLOR][/COLOR]  _onChange;[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]        [COLOR=blue][COLOR=blue]public[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]static[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]event[/COLOR][/COLOR] [COLOR=#2b91af][COLOR=#2b91af]StateChangeHandler[/COLOR][/COLOR]  OnStateChange[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]         {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]            [COLOR=blue][COLOR=blue]add[/COLOR][/COLOR][/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]             {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                _onChange +=  [COLOR=blue][COLOR=blue]value[/COLOR][/COLOR];[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]             }[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]            [COLOR=blue][COLOR=blue]remove[/COLOR][/COLOR][/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]             {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                _onChange -=  [COLOR=blue][COLOR=blue]value[/COLOR][/COLOR];[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]             }[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]         }[/FONT][/SIZE][/FONT]
 
 [FONT=Courier New][SIZE=2][FONT=Courier New]        [COLOR=blue][COLOR=blue]private[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]static[/COLOR][/COLOR] [COLOR=blue][COLOR=blue]void[/COLOR][/COLOR] notify()[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]         {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]            [COLOR=blue][COLOR=blue]if[/COLOR][/COLOR] (_onChange != [COLOR=blue][COLOR=blue]null[/COLOR][/COLOR])[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]             {[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]                 _onChange(_GolferID);[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]             }[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]         }[/FONT][/SIZE][/FONT]
 [FONT=Courier New][SIZE=2][FONT=Courier New]    }[/FONT][/SIZE][/FONT]