Fix for 2 bugs.

Fix for 2 bugs:
1. Buttons stays in "over" state after releasing outside
2. On touch devices buttons stays in "over" state after click.

Also I think it's a little bit cleaner implementation.