Registration refactor and controller cleanup