added a InputComponent, this allows users to assign callbacks that get triggerend on various input events