Fleshing out sync preferences
This is almost ready to merge into the main branch.