TODO: Write more tests and try to make some scheduler of producers/consumers...