Design and implementation of programming interfaces in JavaScript