Cache instances of preferences
add SuppressWarnings to generated classes
Add test project and simple tests