Add all buttons
Add a WCF Service Contract interface for the agent control system.
Split the class into a 'runner' which runs the actual agent, and 'agent', which implements the agent code without regard for who or how it is running.