Create and implement events and callbacks

You have declared an event on your class, and you want outside users of your class to raise this event. What do you do?

Add a public method to your class that raises the event.
Use a custom event accessor to give access to outside users.
Make the event public.
Use a public delegate instead of an event.