Add `once` method