TODO: is this really the right way to prevent multiple stacked preference fragments?