Use protocol for user interface