Button API V2.0

It works !
(contains examples at the end of the file[last 4 lines])