Tipo de instância de retorno em Swift

Estou tentando fazer esta extensão:

extension UIViewController
{
    class func initialize(storyboardName: String, storyboardId: String) -> Self
    {
        let storyboad = UIStoryboard(name: storyboardName, bundle: nil)
        let controller = storyboad.instantiateViewControllerWithIdentifier(storyboardId) as! Self

        return controller
    }
}

Mas eu recebo o erro de compilação:

erro: não é possível converter a expressão de retorno do tipo 'UIViewController' para retornar o tipo 'Self'

É possível? Também quero fazê-lo comoinit(storyboardName: String, storyboardId: String)

questionAnswers(3)

yourAnswerToTheQuestion