refactored input manager, removed dependency on enum, now comes with action def editor