- added contract() and clear() list modifier methods
- added passable func before_add that is called before appending an object