Adding Factory interface and class, rebuildin constructor of ArrayListShell class