The real problem with my API design is I used to not worry about it because it was only for me and now that I've made it an open source project I'm worried about compatibility and use cases beyond mine.