# Pastebin sBfShiWv my %states; sub new-state($default?, :$name = UUID.new.Str) is rw is export { die "State $name already exists" if %states{$name}++; my $store = $*UI-APP.obj.store; my $event = "ui/automatic/{ $name }/update"; $store.register-handler: $event, -> $, %ev { :db{ $name => %ev } } with $default -> $value { $store.dispatch: $event, :$value; $store.tick; } Proxy.new( FETCH => sub ($) { .{$name} = True with %*UI-PATHS; $store.get-in: $name }, STORE => sub ($, $value) { $store.dispatch: $event, :$value; $value } ) }