Added a POSFactory
Added try catch to handle IllegalArgumentException(s)