enum Events : String { case login case home case sign_up } protocol LoggerProtocol { func setup () func log ( event : Events , parameters : [ String : Any ]?) setup () }) } func log ( event : Events , parameters : [ String : Any ]? self ]) } func log ( event : Events , parameters : [ String : Any ]?)