Play ws api

Please see individual commits