Introducing "aspects" for the different kinds of things ui does ~ moved well over 400 lines of code