Handlers *typically* are outside of the class you declare the event in. If you've done any forms programming, then you have interacted with them numerous times. Take, for example, the button class. The button class has an event that is raised when the button is clicked (OnClick). This event is handled in the hosting form's code (button1_OnClick).
This, however, is not to say that you cannot handle an event internally. You can have private events that are not visible outside of the class. You can also attach multiple handlers to a singe event (or attach a single handler to multiple events).
You can add the appropriate events for you object and raise them in the setters of your properties as you have done in your example.