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)

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