More event based and better handling of params.