 
 import Foundation
 
-public protocol EventBase {}
-public protocol Event: EventBase {}
-public protocol StickyEvent: EventBase {}
+public protocol BaseEvent {}
+public protocol Event: BaseEvent {}
+public protocol StickyEvent: BaseEvent {}
 
-public class Swen<EventType: EventBase> {
+public class Swen<EventType: BaseEvent> {
 
     fileprivate var listeners = [EventListener<EventType>]()
     public typealias EventListenerClosure = (_ event: EventType) -> Void

    
}

// MARKL: instantiation
fileprivate extension Swen {

    static func instance() -> Swen<EventType> {

}

// MARK: subscriber holder
fileprivate class EventListener<EventType: BaseEvent> {

    typealias EventListenerClosure = Swen<EventType>.EventListenerClosure
    weak var observer: AnyObject?
