Implement Web API part and Using Strategy and Factory Patterns