add button-like handling for axes

* Also clean/simplify code