 //Order.as Value Object
 
 package valueObjects
 {
    import mx.collections.ArrayCollection;
    
    [Bindable]
    [RemoteClass(alias="fstop.Order")]
    public class Order 
    {
        public var orderNumber:int;
        public var customerName:String;
        public var email:String;
        public var lineItems:ArrayCollection;
    }
}

//OrderEvent.as event class
package events 
{
    import flash.events.Event;
    import valueObjects.Order;

    public class OrderEvent extends Event 
    {
        public var order:Order;
        
        public function OrderEvent(order:Order,type:String) 
        {
            super(type);
            this.order=order;
        }

        override public function clone():Event      
        {
            return new OrderEvent(order,type);
        }
    }
}


