public function tags_queue($tag_info = array(), $action = null)
    {

        if( ! isset($tag_info['item_id']) ) {
            throw new NoItemException("No item id was sent");
        } else if ( ! is_numeric($tag_info['item_id']) ){
            throw new InvalidItemTypeException("The item id: {$tag_info['item_id']} is not valid it should be a number");
        }

        if( sizeof($tag_info['tags']) == 0 ) {
            throw new NoItemException("No tags received");
        }
        
        $base_info  = array(
            'action'        => $action,
            'time'          => time()
        );

        $tag_info = array_merge($base_info, $tag_info);

        $this->actions[] = $tag_info;

        return true;

    }