Split classes from wavegen into separate source and include files