title: Service access Entity attributes
body: <p>In oop we seek to <strong>encapsulation</strong>. We try not to expose internal state via getters or by public fields, only expose methods. </p>
  
  <p>So far so good. </p>
  
  <p>In situation when we would like to operate on multiple <strong>Entities</strong> we introduce <strong>Service</strong>.
  But how this service can operate freely on these entities? </p>
  
  <p>If all (both Service and Entities) were in the same package, Entities could expose package private methods or fields and Service could use them, preserving encapsulation. But what when Entities and Service are from different packages? It seems that Entities should either expose public getters (first step to anemic model and leackage of logic from Entities), or public methods executing logic that is specific to the needs of service, possibly introduced only by requirements of this service - also seems bad. How to tackle this?</p>