Begin refactor into classes