protocol ValueForKeyLookupable { func valueForKey(key: String) -> Any? } extension ValueForKeyLookupable { func valueForKey(key: String) -> Any? { let mirror = reflect(self) for index in 0..