/// <summary>
        ///  Verifies the Facebook HTTP POST subscription and calls the callback when a new notification is received.
        /// </summary>
        /// <param name="responseFormatter">The response formatter.</param>
        /// <param name="settings">The Facebook Realtime Subscription API settings.</param>
        /// <param name="callback">The callback to be called when a new notification is received.</param>
        /// <param name="throwException">Indicates whether to throw exception if verification fails.</param>
        /// <param name="resultType">The type to deserialize the json response into.</param>
        /// <param name="jsonDeserializer">The json deserializer.</param>
        /// <returns><see cref="Response"/></returns>
        public static object AsFacebookPostSubscription(this IResponseFormatter responseFormatter, FacebookSubscriptionSettings settings, Action <dynamic> callback, bool throwException = false, Type resultType = null, Func <string, Type, object> jsonDeserializer = null)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            return(responseFormatter.AsFacebookPostSubscription(settings.AppSecret, callback, throwException, resultType, jsonDeserializer));
        }