Instead of bullshitting with contexts, use callbacks.