I agree with you on the last part, I like my code to be structured logically. So I think I'll go with my second idea, I'll implement ContextMenu and override contextMenuOnClick() something like this:
public void contextMenuOnClick(ContextMenuItem clickedItem)
{
if(clickedItem.getText() == "Item 1")
{
// do something
}
}