Major update -- added ability to train ESOM from the wrapper