Какой ещё this? код `setTimeout(fn(data), 10);` вызывает fn в контексте window, так что от оборачивания в анонимную функцию ничего не потеряется.
Если пользователю твоей библиотеки понадобится передать this, то для этого есть bind, например. Или можно использовать замыкание.