Refactor and add AVTransport class