From your Array Collection create a value object, a class or an interface making sure the properties names are identical and create the relevant accessors for it 
public class DataObject
{
  protected var _classDescription:String;
  public function get classDescription():String
  {
     return _classDescription;
  }
  public function set classDescription(value:String):void
  {
     _classDescription = value;
  }
}
When you retrieve  your object form your ArrayCollection, you can loop thru the object's properties to assign them to your value object
   var dataObj:DataObject = new DataObject();
   for each ( var prop:String in collectionObject )
       if( dataObj.hasOwnProperty(prop) )
           dataObj[prop] = collectionObject[prop] ;
This object should extend Sprite so that you can add your image as a child and dispatch a mouse event. In the images container, the value object would add a MouseEvent listener and the listening function could be something like this:
private function mouseClickHandler(event:MouseEvent ):void
{
    var target:YourValueObject = event.currentTarget as YourValueObject;
    trace ( target.classDescription );
}