/// <summary>
        /// Registers a <see cref="Action{T}"/> callback.
        /// </summary>
        /// <typeparam name="T">The type of data that the <see cref="callback"/> takes as a parameter.</typeparam>
        /// <param name="service">A reference to a <see cref="EditorCallbackService"/> object.</param>
        /// <param name="callback">A reference to a callback.</param>
        /// <exception cref="ArgumentNullException">If service parameter is null.</exception>
        /// <remarks>Priority will be set to 0.</remarks>
        public static void Register <T>(this EditorCallbackService service, Action <T> callback)
        {
            if (service == null)
            {
                throw new ArgumentNullException("service");
            }

            service.Register(callback, default(T), 0);
        }
        /// <summary>
        /// Registers a <see cref="Action"/> callback.
        /// </summary>
        /// <param name="service">A reference to a <see cref="EditorCallbackService"/> object.</param>
        /// <param name="callback">A reference to a callback.</param>
        /// <exception cref="ArgumentNullException">If service parameter is null.</exception>
        /// <remarks>Priority will be set to 0.</remarks>
        public static void Register(this EditorCallbackService service, Action callback)
        {
            if (service == null)
            {
                throw new ArgumentNullException("service");
            }

            service.Register <object>(x => callback(), null, 0);
        }