introduce Description class
add implementation for retrieving categories and descriptions
extend callback hierarchy