Piezo class API refactor as discused in #372

Current API isn't intuitive