Restructure, changed how drawing and updating is handled