A Self-Configuring Service Composition Engine