SAMenuItem with bug fixes and Call back Blocks