Current project structure use play http server as root project and root project is depends on s2core subproject.
It is possible for others to implement their own server with different framework and different protocol using s2core as client library.
To make this simple, I think it would be better to make current default server project(play) as subproject, not root project.
Problem is there would be many duplicates code since current version never expect different server framework. I think we can abstract common codes(such as parsing json query request and building result json) should move into s2core to avoid duplications.
This change affect current root, s2core project, documentation and dev-tools so seperate issues regarding this change should be followed up if this change apply.