All protocols ported to Swift.