lightweight library to handle preferences for arbitrary (tree) objects using XML