Improve argument API and remove redundant interface declarations