modal "show" and "hide" can have callbacks.