Changed interfaces to have more methods so that clearing can be done moe
efficiently.