Migrate to new UI framework