Actual de/buff.
Buff can timeout after some time if time is Some. If time is None,
Buff will last indefinitely, until removed manually (by some action, like
uncursing).
Component holding all de/buffs that gets resolved each tick.
On each tick, remaining time of buffs get lowered and
buff effect of each buff is applied or not, depending on the BuffEffect
(specs system will decide based on BuffEffect, to simplify
implementation). TODO: Something like once flag for Buff to remove the
dependence on BuffEffect enum?