refactored code
completed all major features
added example
added callback
added mouse out event to EditorControls for consistency