Continual work on the UI - buttons can now have callbacks, added text inputs.