messy, but working message queue, stashing then cleaning up, gearing up for daemon mode