Added a way for callbacks to retrieve the context they were called from
Added user data pointer to context