Consolidate all buttons under one component

This closes issue #12. 
:+1: