Efficient class structure?