Clean up snapshot state machine done callbacks
Use callback typedef in ASIO dispatcher
Simplify candidate snapshot generator
Clean up state machine internal events