refactoring interaction

https://github.com/WindowsAzure/azure-sdk-tools-xplat/issues/889