Refactor custom fields merging
Add custom root/channel fields (fix #12)