package com.sw.platecabinet.utils class RegisterCallbackHandler { private var isCallbackCalled = false private val lock = Any() fun setCallback(callback: () -> Unit) { synchronized(lock) { if (!isCallbackCalled) { isCallbackCalled = true callback() } } } }