Swift: don't use implicitly unwrapped optionals in delegate methods signatures