Refactor backpacks server-side and client-side