Refactored form buttons implementation, added new button type :select