Button Model

Finally tied button functionality between controller and directive in a
manner that should be usable for use in the application.