Add `distance` condition
Lay initial groundwork for layer system
Replace effects with regular behaviors
Make behaviors deterministic
Add `conditionalTag` behavior