Abstract factory in go - Eh...need to research interfaces and pointers more. Having a concrete factory return abstract objects bothers me. They should be cast to abstract outside of the function.