Add spinner class, does what it says on the tin
Use new callbacks system