Allow context for callback to be explicitly given

params.context will be used if exists
Remove duplicate method