This can be used avoid parameter ordering issues and avoid sending default values when there are many optional parameters Split off from #245