Added abstract method and abstract class for init. Renamed Worker to AsyncWorker. Made Worker a common ancestor of AsyncWorker and SyncWorker. Added Connectable, which is the common ancestor of Channel and Worker. Channel is no longer ancestor of Worker, I used composition over inheritance, so from now Worker classes use a Channel instance.