Service Agent Factory - Hardcoded Agents

At the moment ServiceAgentFactory.GetAgent contains a huge switch iterating through a large number of agents. But the agents could be specified in the model and the switch could be dropped.

Is there a reason why it is done this way?

Currently not. It became like this in an iterative way and the time came when we could just push the class names from the code to the model.