Changed the way onData data is handled.  Created DataContainer to make things nicer to look at (and pass around).