Issue #80: simplified UserData interface by moving method into constructor