Use PropertyAccess instead of relying on Reflection

Delegate entities manipulation to the PropertyAccess component.
This made fixing #131 easy