Require ->data to be null upon start. Some refactoring