Starting to abstract some things away.