Note that you can return `{stop,Reason,Reply,NewState}` to reply and shutdown at same time.