Add observer mode and several fixes

1. No repeated tool loop
2. Faster tool appearing