Make architecture a little more extensible