Check all Callouts function pointers for NULL before using them.
Don't load USER dll if not needed by the application.

diff --git a/include/callback.h b/include/callback.h
index 9ba7016..7813e40 100644
--- a/include/callback.h
+++ b/include/callback.h
@@ -31,7 +31,6 @@
     BOOL WINAPI     (*GetMessageA)( MSG*, HWND, UINT, UINT );
     LRESULT WINAPI  (*SendMessageA)( HWND, UINT, WPARAM, LPARAM );
     BOOL WINAPI     (*PostMessageA)( HWND, UINT, WPARAM, LPARAM );
-    BOOL16 WINAPI   (*PostAppMessage16)( HTASK16, UINT16, WPARAM16, LPARAM );
     BOOL WINAPI     (*TranslateMessage)( const MSG *msg );
     LONG WINAPI     (*DispatchMessageA)( const MSG* msg );
     BOOL WINAPI     (*RedrawWindow)( HWND, const RECT *, HRGN, UINT );
diff --git a/include/task.h b/include/task.h
index cb666eb..75cdc59 100644
--- a/include/task.h
+++ b/include/task.h
@@ -147,7 +147,7 @@
 
 extern BOOL TASK_Create( struct _NE_MODULE *pModule, UINT16 cmdShow,
                          struct _TEB *teb, LPCSTR cmdline, BYTE len );
-extern void TASK_KillTask( HTASK16 hTask );
+extern void TASK_ExitTask(void);
 extern HTASK16 TASK_GetNextTask( HTASK16 hTask );
 extern void TASK_Reschedule(void);
 extern void TASK_InstallTHHook( THHOOK *pNewThook );