Currently there is no way to have multiple buffs of the same type active at the same time, so it is impossible to have a long-lasting but weak effect take over after a strong but short effect was applied - after the more powerful buff wears off, nothing is left.
Buffs are also unable to stack, which is usually fine, but there may be some cases where it would be nice to allow a greater effect when multiple buffs of the same type are applied.
Identifying a buff (e.g. to remove) would then require both the Buff and the amplitude, but what if two items granted a buff identical in all ways but duration?
Perhaps the problem lies in combining item buffs with potion-like buffs in the same system: items should provide buffs using an AttributeModifier system, whereas temporary buffs from spells and other effects would use the current system. When retrieving the current value for a buff, the map plus all item slots are checked and combined to give the result.
That would still leave one problem: entities with permanent buffs cannot be affected by temporary buffs of the same type. A bat with permanent Fire Resist 5, for example, would not benefit from a temporary buff of Fire Resist 100. One solution would be to store permanent resists in a separate map, and return the higher of the two when querying a buff.