public function getObject( Entity $subject ) {

        //1. getActor
        //Media Object;;
        //First get the nature of the media object;
//        if(!is_object($subject)&& !is_a($subject, Entity::class)):
//            $subjectEntity = Platform\Entity::getInstance(); //An empty entity here because it is impossible to guess the properties of this object
//            $subject = $subjectEntity->loadObjectByURI($subject, array()); //Then we load the object
//        endif;

        $object = NULL;
        $mediaObjectURI = $subject->getObjectURI();

        if (!empty($mediaObjectURI)):
            //Create an media object, and fire an event asking callbacks to complete the media object
            $mediaSubject = new Object();
            $mediaObjectType = $subject->getObjectType();

            //Fire the event, passing the mediaSubject by reference
            //Although it looks stupid to need to find out the nature of the media subject before trigger
            //It actually provides an extra exclusion for callback so not all callbacks go to the database
            //so for instance if we found an media subject was a collection, callbacks can first check if the 
            //trigger is to model a collection before diving ing

            //\Library\Event::trigger("onMediaSubjectModel", $mediaSubject, $subject);

            //You never know what callbacks will do to your subject so we just check
            //that the media subject is what we think it is, i.e an media object

            if (is_object($mediaSubject) && method_exists($mediaSubject, "getArray")):
                $object = $mediaSubject::getArray(); //If it is then we can set the media object output vars
            endif;
        else:
            //If there no explicitly defined mediaObjects, in media_object
            //parse media_content for medialinks
            //Parse media targets medialinks
            //@todo;
           // $mediaLinks = Media\MediaLink::parse($data);

        endif;

        return $object;
    }