introduce CASStyleableItem protocol