This PR was 'grown' on Java DSL 'fields'. I separated it to make it easier to review and to go ahead with short steps. 
See here: https://github.com/artembilan/spring-integration/commit/4a02b89b59cb2eb1748bc44eb76b874d81fb318d