Renamed a bunch of public API funcs to be more consistent ret: get, push; also put some things into categories and made some macros to make up for the lack of default params.