Refactor code to be real classes
Holding works, but no visual