Fixing issue where finding the iterator to the beginning of the list instead of the front since we push to the front of m_threads
Updating the override methods from the CoreRunnable refactor
Adding a “running” state using a “beforeRunning” boolean to allow a CoreRunnable to safely access its context without deadlocking