Concurrent tasks controller for Go.
This tasks controller runs multiple tasks concurrently then wait for either cancellation or one of the task to stop. If any of the conditions is met, the main tasks execution context is canceled, allowing the remaining tasks to stop.