private IEnumerable <GroupAction> Curve(int duration, double radius, double degrees, int delay = 0, double priority = 0, int[] positions = null)
        {
            double eps = 0.000001;

            return(new List <GroupAction>
            {
                GroupActions.Rotate(degrees / 2, duration: duration, delay: delay, priority: priority - eps, positions: positions),
                GroupActions.MoveForward(duration, stepsize: radius * PositionHelper.ToRadians(Math.Abs(degrees) / duration), delay: delay, priority: priority, positions: positions),
                GroupActions.Rotate(degrees / 2, duration: duration, delay: delay, priority: priority + eps, positions: positions)
            });
        }