fixed Module - the pattern will now be that the ancestors will call register() to make themselves available, as appropriate - rather than having Module do it
fixed basic oscillator to use the new pattern - created a companion object that will take a name and then register appropriately