Future<bool> collapse({bool byUserAction = true}) { if (disabled && byUserAction) return Future.value(false); return changeState(false, byUserAction, _closeController); }