Moving away from class-style structure and void pointers