Refactor to split server and client into separate mvn modules