add disposable
implement very simple hot signal
add playground + update signal spec