Split some stuff out into an EntityList
cellBounds helper function
Object for cells to handle negative indices
Making sure entity position gets updated
Cleaned up adding/removing from cells a bit