Add option to execute callback only once