Added an API based on DTOs. createProxy() can be invoked with individual arguments or a DTO containing all arguments as properties.