Restucture and clean up for extending AbstractSequentialList rather than implementing List