What are best practices for saving users' window positions, sizes, table column order/width, etc so these things are restored on startup? Is there a good framework for this or do you just roll your own?