Created a base class for the pop actions. This saves some code.
Added documentation.
Made an abstract class for push actions, this saves code.