[client][buttonmanager] base structure