A declarative architecture centered around the creation of ui components