refactor event to add new finishing callback
move light attributes to attribute