Complete rewrite as binding instead of component.