/// <summary>
        /// Parses a series
        /// </summary>
        /// <param name="instructions"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        public IReadOnlyList <RelativeInstruction> ParseRawInstructions(string instructions)
        {
            // Input checking.
            if (instructions == null)
            {
                throw new ArgumentNullException(nameof(instructions));
            }

            var currentDirections = new List <RelativeInstruction>();

            string[] splitString = instructions.Split(Delimiter);

            foreach (string split in splitString)
            {
                currentDirections.Add(InstructionParser.ParseSingleInstruction(split));
            }

            return(currentDirections.AsReadOnly());
        }