Started merge of shaunarundell's user input & command system