update cell movement with basic callback on invalid placement support