Create custom component that fires events in pure Python

I’m trying to create a custom component that is basically a list of buttons. When you click one of those buttons, I want the component to trigger all callbacks for the component, with the value of the button that was pressed. It’s supposed to work a bit like a component.

Ideally, this would be used like:

import dash_core_components as dcc
import dash_html_components as html
from my_button_component import ButtonComponent

app.layout = html.Div([
    Output('graph', 'figure'),
    [Input('my-component', 'selected_button')], 
def callback(button):
    # Generate some plot using the selection

The key thing I want to do here is have a callback that listens for ‘selected_button’, which is a custom event my component should fire. However, since this component is currently pure Python, I’m not sure how to get it to create this event. Is this possible?