Add entity effect

Needed to get some stuff done along the way, like fixing several bugs.

I'll add a demo once other PR are also accepted (e.g. getlayer)