re-working the seating logic to make actions visible for state changes