Added InputHander and a "Command Interface"