-#define EXTRACT_ONE_ARGS(arg1) arg1
-#define EXTRACT_TWO_ARGS(arg1, arg2) arg1, arg2
-#define EXTRACT_THREE_ARGS(arg1, arg2, arg3) arg1, arg2, arg3
-#define EXTRACT_FOUR_ARGS(arg1, arg2, arg3, arg4) arg1, arg2, arg3, arg4
-#define EXTRACT_FIVE_ARGS(arg1, arg2, arg3, arg4, arg5) arg1, arg2, arg3, arg4, arg5
-
-#define EXPAND_WCB_ONE(args, userData) (EXTRACT_ONE_ARGS args, userData)
-#define EXPAND_WCB_TWO(args, userData) (EXTRACT_TWO_ARGS args, userData)
-#define EXPAND_WCB_THREE(args, userData) (EXTRACT_THREE_ARGS args, userData)
-#define EXPAND_WCB_FOUR(args, userData) (EXTRACT_FOUR_ARGS args, userData)
-#define EXPAND_WCB_FIVE(args, userData) (EXTRACT_FIVE_ARGS args, userData)
+#define EXPAND_WCB_EXTRACT_ONE_ARGS(arg1) arg1
+#define EXPAND_WCB_EXTRACT_TWO_ARGS(arg1, arg2) arg1, arg2
+#define EXPAND_WCB_EXTRACT_THREE_ARGS(arg1, arg2, arg3) arg1, arg2, arg3
+#define EXPAND_WCB_EXTRACT_FOUR_ARGS(arg1, arg2, arg3, arg4) arg1, arg2, arg3, arg4
+#define EXPAND_WCB_EXTRACT_FIVE_ARGS(arg1, arg2, arg3, arg4, arg5) arg1, arg2, arg3, arg4, arg5
+
+#define EXPAND_WCB_ONE(args, userData) (EXPAND_WCB_EXTRACT_ONE_ARGS args, userData)
+#define EXPAND_WCB_TWO(args, userData) (EXPAND_WCB_EXTRACT_TWO_ARGS args, userData)
+#define EXPAND_WCB_THREE(args, userData) (EXPAND_WCB_EXTRACT_THREE_ARGS args, userData)
+#define EXPAND_WCB_FOUR(args, userData) (EXPAND_WCB_EXTRACT_FOUR_ARGS args, userData)
+#define EXPAND_WCB_FIVE(args, userData) (EXPAND_WCB_EXTRACT_FIVE_ARGS args, userData)