Separated course selection logic into multiple controllers