Various stuff...

- Some renaming
- the synchronous companion to the async one
- fixed the malformed initialization that caused the curious error
(thanks to @Robostyle from stackoverflow for the hint)
- changed the boolean control thing to be atomic