--- /dev/null
+package Reaction::UI::ViewPort::Data;
+
+use Reaction::Class;
+extends 'Reaction::UI::ViewPort';
+
+use namespace::clean -except => [qw(meta)];
+
+has args => ( isa => 'HashRef', is => 'ro', default => sub{{}} );
+
+1;
--- /dev/null
+package Reaction::UI::Widget::Data;
+
+use Reaction::UI::WidgetClass;
+use namespace::clean -except => [qw(meta)];
+
+extends 'Reaction::UI::Widget::Container';
+
+before fragment widget {
+ my $data = $_{viewport}->args;
+ arg $_ => $data->{$_} for keys %$data;
+};
+
+1;