refactor waitingFrame & ReadyButton
organize gui.api module