refactor OnDrawGizmos to use WithGizmoColor for readability