Use attributes rather than just shoving everything into a dict