simplified worker framework, reacts to errors too