Make the Constructor accept arbitrary callback.