Extract transport into a separate class