Major overhaul to threading, new init signature