Loop now runs func on data even if empty. Allows callback to handle empty data.