Simple client-side disposable messages framework