Personalization

@Berdir asked specifically to review this branch, please leave the merging to him.
Should we make it return objects?