feat(): adds whenever support with defaults, closes #72