public function update( MW_Observer_Publisher_Interface $order, $action, $value = null )
	{
		$this->_getContext()->getLogger()->log( __METHOD__ . ': event=' . $action, MW_Logger_Abstract::DEBUG );

		$class = 'MShop_Order_Item_Base_Interface';
		if( !( $order instanceof $class ) ) {
			throw new MShop_Plugin_Provider_Exception( sprintf( 'Object is not of required type "%1$s"', $class ) );
		}

		$this->_checkWithoutCurrency( $order, $value );
		$this->_checkWithCurrency( $order, $value );

		return true;
	}