Make both methods optional

The user should implement only one, so if we make them required, it will show an annoying warning