+ retriever: () ->\r
+ new Pettanr.Cache.Retriever(@my_class(), @get('id'))\r
+ \r
+ @pick_item_name: () ->\r
+ null\r
+ \r
+ @pick_model: () ->\r
+ Manifest.item_name_to_model(@pick_item_name())\r
+ \r
+ @traceable_item_names: () ->\r
+ []\r
+ \r
+ @is_traceable: (item_name) ->\r
+ _.contains(@traceable_item_names(), item_name)\r
+ \r
+ @is_picker_inspire: (item_name) ->\r
+ item_name == @item_name()\r
+ \r
+ @is_picker_trace: (item_name) ->\r
+ @is_traceable(item_name)\r
+ \r
+ @is_picker_pick: (item_name) ->\r
+ item_name == @pick_item_name()\r
+ \r
+ @pick_type: (item_name) ->\r
+ if @is_picker_inspire(item_name)\r
+ 'inspire'\r
+ else if @is_picker_trace(item_name)\r
+ 'trace'\r
+ else if @is_picker_pick(item_name)\r
+ 'pick'\r
+ else\r
+ 'none'\r
+ \r