REFACTORING:
- reused code
- more precise positioning of bg vs button
- animations using block methods
- using builtin UIControl action methods