Input events and callbacks, custom properties, basic drawing interface