[Shops] Rewrote almost everything in preparation of full handling of shops via scripts.