Obvious optimization

Only update neighbours if cell changes state