API cleanup
First pass at an action queue