Still maintaining controls as found here.
When a button is pressed down it's added to a queue.
When a button is released it's removed from the queue.
When processing changes, the button at top of queue is considered the button pressed for current action.
Maybe some actions remove themselves from the queue? Prevents trying to repeat actions that aren't repeatable(ie equipping a tool, unless we want animation spam that's found in some games?)