     
     /** @name Pushing */
     /** Push a JSON string payload to a device with token string, assign identifier. */
-    public func send(payload: String, withToken token: String, callback: @escaping TokenErrorHandler) throws {
-        tokenErrorHandler = callback
+    public func send(payload: String, withToken token: String, callback: @escaping NotificationClosure) throws {
+        notificationClosure = callback
         let notification = NWNotification(payload: payload, token: token)
         var length = 0
         let data = notification.data()

    case APNInvalidTokenContent
    case APNShutdown
    case APNUnknownErrorCode
}



/** Serializes notification objects and pushes them to the APNs.
 

        data.getBytes(status, range: NSRange(location: 1, length: 1))
        var ID: UInt32 = 0
        data.getBytes(ID, range: NSRange(location: 2, length: 4))
        let identifier = htonl(ID)
        let notification = NWNotification.notifications[identifier]
        notification.status =
        /*switch status {
        case 1:
            try? NWErrorUtil.noWithErrorCode(kNWErrorAPNProcessing)
        case 2:
