Refactored the simple queue to allow for easy inheritance