Upload of the Effect interface

Defines the contract that an effect has to respect. An Effect is a
method that an Area provides to act on an Entity.