base EditBox implementation