Simplify some type signatures. Provide default completion. Better handling of events.