* feat: add decorator to guard public APIs * Add unit tests * Refactor to use unit tests * Paramterize tests * Remove decorator