Inject SpaceData in thread instead of relying on singleton
Treat canvasSize as Rect instead of two ints