Automatic Rebuilds
Watch subscribes to the state it reads. computed() derives values without dependency lists.
Plain Dart ViewModels with automatic rebuilds, stream cleanup, and cooperative task cancellation.

class CounterViewModel extends ViewModel {
late final count = state(0);
void increment() => count.update((n) => n + 1);
}class CounterPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
final vm = context.vm<CounterViewModel>();
return vm.count.build(
(count) => Text('$count'),
);
}
}