public ContributorMutation(IContributorRepository repository)
        {
            FieldAsync <ContributorQueryType>(
                "addContributor",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ContributorCreateViewModel> >
            {
                Name = "contributor"
            }),
                resolve: async context =>
            {
                var contributor = context.GetArgument <Contributor>("contributor");
                return(await context.TryAsyncResolve(async _ => await repository.AddAsync(contributor)));
            }
                );

            FieldAsync <ContributorQueryType>(
                "removeContributor",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <StringGraphType> >
            {
                Name = "id"
            }),
                resolve: async context =>
            {
                var id = context.GetArgument <string>("id");
                return(await context.TryAsyncResolve(
                           async _ => await repository.RemoveAsync(Guid.Parse(id))
                           ));
            }
                );
        }