refactored input class into an observer pattern
added pause function