     func ended() -> Bool //returns true for normally, false otherwise
 }
 
-protocol Filter {
+//class
+protocol Filter: MediaObject {
     var availableFilters: [String]
     class func filter(var1: AnyObject, var2: AnyObject) -> Filter //and then all the rest
     func applyTo(inout image: Image)

import C4iOS
import AVFoundation

protocol MediaObject {
    func setup()
}

protocol Run {
    
    func run()
    func run(delay: Double)
    
}

protocol Visible {

    func apply(filters: [Filter])
}

//extension
protocol AnimatedImage {
    var images: [Image] { get }
    var rate: Double { get set } //set explicity .25s, etc.
