Bokeh : Return uploaded data object from on_change handler

I have used an online available code from here to have a upload button for a bokeh dashboard. I could then get the excel data read by pandas. Now the question is on how to return the pandas object ?

import pandas as pd
from xlrd import XLRDError
import io
import base64

from bokeh.models import ColumnDataSource, CustomJS

file_source = ColumnDataSource({'file_contents':[], 'file_name':[]})
def file_callback(attr,old,new):
    raw_contents =['file_contents'][0]

    prefix, b64_contents = raw_contents.split(",", 1)
    file_contents = base64.b64decode(b64_contents)
    file_io = io.BytesIO(file_contents)

        df_dict = pd.read_excel(file_io, sheet_name = ['Sheet1', 'Sheet2'])
    except XLRDError:
        print("One or more of the sheet names are mis-spelled/missing.\n")
    except :
        print("Error occured while uploading the file. Ensure it's a xlsx file")          

file_source.on_change('data', file_callback)

Now how can I return df_dict ? I am only 2 days old to bokeh and thus this could seem to be a stupid question