Project experimenting with an abstract factory, to allow for loose coupling and user input basec object initiation.