initial support for per-input actions
make actions tied to inputs, not states, addresses issue #2