Saving Progress on Splitting up the keyboard class and refactoring, also a few model changes.