     ///   - velocity:   MIDI Note velocity (0-127)
     ///   - channel:    Channel on which the note appears
     ///
-    static public func noteOff(noteNumber: MIDINoteNumber,
-                               velocity: MIDIVelocity,
-                               channel: MIDIChannel) -> AKMIDIEvent {
-        return AKMIDIEvent(status: .noteOff,
-                           channel: channel,
-                           byte1: noteNumber,
-                           byte2: velocity)
+  public init(noteOff noteNumber: MIDINoteNumber,
+              velocity: MIDIVelocity,
+              channel: MIDIChannel) {
+        self.init(status: .noteOff,
+                  channel: channel,
+                  byte1: noteNumber,
+                  byte2: velocity)
     }
     
     /// Create program change event

    ///   - value:      Value of the controller
    ///   - channel:    Channel on which the controller value has changed
    ///
    static public func controllerChange(controller: MIDIByte,
                                        value: MIDIByte,
                                        channel: MIDIChannel) -> AKMIDIEvent {
        return AKMIDIEvent(status: .controllerChange,
                           channel: channel,
                           byte1: controller,
                           byte2: value)
    }
    
    static public func midiEventsFrom(packetListPointer: UnsafePointer< MIDIPacketList>) -> [AKMIDIEvent]{
        var outEvents: [AKMIDIEvent] = Array()
        
        for packet in packetListPointer.pointee {
            // a coremidi packet may contain multiple midi events
            outEvents.append(AKMIDIEvent(packet: packet))
        }
        return outEvents
    }
}

    ///   - velocity:   MIDI Note velocity (0-127)
    ///   - channel:    Channel on which the note appears
    ///
    public init(noteOn noteNumber: MIDINoteNumber,
                velocity: MIDIVelocity,
                channel: MIDIChannel) {
      self.init(status: .noteOn,
                channel: channel,
                byte1: noteNumber,
                byte2: velocity)
    }
    
    /// Create note off event
