built out getter and setters for inputs, publish change events