Refactor backend workers

* Split off each task to separate class
* Specs for workers and integration
* Use vegeta for http tests