Вы можете сделать это в любом случае, просто полностью абстрагировать движок дисплея от всей другой логики , включая привязки событий, а что нет. Формат данных для пользовательского интерфейса, будь то XAML или даже исполняемый BLOB-объект JavaScript, не имеет значения ... важно то, что движок может обеспечить согласованный интерфейс для передачи событий обратно в логику, независимо от Состояние интерфейса.
Для этого вы можете создать самоизменяющийся движок, который использует определение движка для создания движка для самоизменяющихся определений пользовательского интерфейса : P