public void push(FlowItem item)
 {
     items.AddFirst(item);
     if (state == AnimationFlowState.Empty)
     {
         state = AnimationFlowState.Ready;
     }
 }
        public void enqueue(FlowItem item)
        {
            if (state == AnimationFlowState.Locked)
            {
                return;
            }

            items.AddLast(item);
            if (state == AnimationFlowState.Empty)
            {
                state = AnimationFlowState.Ready;
            }
        }