Menu system accepts block to defer until runtime