Use influence models to specify moves.
Use JSON for influence models to specify their properties on both the server side and client side.