HallButtonControl Requirements

And fixed headers
Merge branch 'David'