Major API functions overhaul; enums, new functions, asynchrony