added check, throw if callback called twice. Thxs @Strix-CZ