abstract class SequenceEvent {}

/// Load available sequences and categories from coordinator
class LoadSequences extends SequenceEvent {}

/// Start a sequence on a viewer
class StartSequence extends SequenceEvent {
  final int viewerId;
  final int sequenceId;

  StartSequence({required this.viewerId, required this.sequenceId});
}

/// Stop a sequence on a viewer
class StopSequence extends SequenceEvent {
  final int viewerId;

  StopSequence(this.viewerId);
}

/// Filter sequences by category
class SelectCategory extends SequenceEvent {
  final int? categoryId;

  SelectCategory(this.categoryId);
}
