suspension controller refactoring is WIP

note that it is being refactored so that no one else starts working on it or changes it, until the new code lands