_ensure_loop should be called on create not init
Add comments