Text this: A generic neural network framework using design patterns