abolish an extra goroutine
closes #411
sorry for all the commit spam, i've read a tweet sometime ago that github actions is a fiend to clean git commit history, while i think it's true it's my fault i'm too eepy and couldn't be bothered to run the workflow locally, check up .mod files and not to forgor about running go mod tidy. think this is like your average dark souls bonfire-to-"you died" message cycle but somewhat upside down, fix issue -> commit -> push -> wait for ci to fail -> oh my gosh here we go again.
please review my pr carefully, i am super new to the codebase although i've been using this library for a while and i might've messed up choosing atomic.Value vs atomic.Pointer but the latter looks more messy to me code wise and i don't think there is any sense to keep a pointer to function instead of keeping it straight as a value, maybe someone smarter than me and/or more acquainted with the codebase than me could propose anything. i tried my best to do the best choices and keep the style consistent. maybe you'll find an nit or two but i'm up for fixing them up.
Any update on this @andriibeee?
Thanks for working on this andriibeee! Your work inspired #532 which just got merged. 🎉