DRY up assignment methods, and explain things with some comments