void AddPerformanceBuilder(ReportableBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builderStack.Push(builder);
        }
        /// <summary>
        /// Begins reporting of a new performable.
        /// </summary>
        /// <param name="actor">Actor.</param>
        /// <param name="performable">Performable.</param>
        public void BeginPerformance(INamed actor, Performables.IPerformable performable)
        {
            EnsureNotFinalised();
            var builder = new ReportableBuilder(objectFormatter)
            {
                Performable     = performable,
                Actor           = actor,
                PerformanceType = currentPerformanceType,
            };

            AddPerformanceBuilder(builder);
        }