                 # channel obviously doesn't exist, let's create it
                 channel = @createDirectChannel(userID)
                 if !channel
-                    return null
-        return channel
+                    if callback? then callback(null)
+        if callback? then callback(channel)
 
     getAllChannels: ->
         @channels

            if @users[u].email == email
                return @users[u]
    
    getUserDirectMessageChannel: (userID) ->
        # check if channel already exists
        channel = @self.id + "__" + userID
        channel = @findChannelByName(channel)

            user_id: userID
        @_apiCall 'POST', @channelRoute('/create_direct'), postData, (data, headers) =>
            @logger.debug 'Created Direct Channel.'
            return data

    findChannelByName: (name) ->
        for c of @channel_details
