Basic level wave add

split factory into common inits / switch statement to handle specific
entity inits