Make entity initialization more strict by sending methods instead of setting instance variables.

Fixes #9.