No need to call self here. Reference the `width` variable like the rest of the code.
We should probably be calculating the new x/y outside of the decode callback. Then we need a local x & y for the push because they may have changed.
No need to fill with black since PixelStack defaults to filling with black.