Design and implement the Windows Azure role life cycle

Which of the following are valid reasons for overriding the Run method? (Choose all that apply)

Creating and starting a messaging service that will work in parallel with the Web role to manage queued messages
Starting and supporting a logging application for use by the Worker role
Managing error handling for the application
Creating an always-running service that periodically makes HTTP calls to other websites to determine their availability