Improved input class

I wasn't thinking when I first made the input class, keeping it as an
object is a better idea.