They're easy to do up to a point, as long as you don't require advanced functionality. The coding is rather primitive if you want to offer members real freedom of choice, because to make a change that will stick they have to dig around in their profiles. Too much bother and needs to be sorted.