moving experiment types to dedicated classes.  Also, made member variables on wave private.  Adding accessors as necessary.