added busy state to manage potential state change bugs