How To Design A Good Sdk