Added a whole lot of new stuff. Working on preferences, but right now
group creation works when negative preferences have been specified (see
GroupCreatorTest.java)