Bunch of remarks

Here is a list of commits in which I try to show how to improve incrementally your code.

I did not do the other part regarding the separation of the atom atom because your tests depend heavily on it.

Battlefield is changed in place during tests so... we need to refactor them to be stateless before being able to refactor the production code

anyway, it's a good start 

Cheers