Added the concept of an action listener which can be used to do callbacks after an action.
No need to use ListIterator, not using any features.