Wakeful and no concurrent access to variables

- Added partial wake lock to activity
- Changed ArrayList to CopyOnWriteArrayList
- Synchronizes depths queue on each access