refactor the use for the stock methods on Variant. in_stock should not take backordering into account IMHO. Use can_supply? for that.