Redesigning API - again. I could write a paper describing my issue. I may.