     }
 
     // DataSource
-    internal weak var dataSource: ColiseuPlayerDataSource?
+    public weak var dataSource: ColiseuPlayerDataSource?
 
     public override init()
     {

    private var playerWillRepeat: Bool?

    // Delegate
    internal weak var delegate: ColiseuPlayerDelegate? {
        willSet {
            if let viewController = newValue as? UIViewController {
                UIApplication.sharedApplication().beginReceivingRemoteControlEvents()

        var songInfo = [MPMediaItemPropertyTitle: song.title,
            MPMediaItemPropertyArtist: title,
            //MPNowPlayingInfoPropertyElapsedPlaybackTime: time + 30,
            MPMediaItemPropertyPlaybackDuration: self.audioPlayer!.duration] as [String : AnyObject]

        if let artwork = song.artwork {
            songInfo[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(image: artwork)
