simplify
cleanup
use IServer / IBattle interface everywhere