dispose method

void dispose()

Disposes the logic block, stopping it first if running, then cleaning up all internal resources.

Idempotent — calling dispose on an already-disposed logic block is a no-op.

Implementation

void dispose() {
  if (isDisposed) return;

  if (isStarted) {
    stop();
  }

  _status = LogicBlockStatus.disposed;
  _futureTracker.reset();
  _inputs.clear();
  _listeners.clear();
  blackboard.clear();
}