I'm trying to create an environment where each paragraph

* gets some stylized text prepended to it (e.g. "***Tips:*** ")
* is not allowed to be broken up across pages

Based on [this answer](https://tex.stackexchange.com/a/33925/2041), I've managed to achieve this using `everypar` and `windowpenalties`, but I'm wondering if there's a better way. I've [read](https://tex.stackexchange.com/a/119760/2041) many times that `everypar` should be avoided if possible since many packages override it.

While my use of `everypar` is my main concern, I would also appreciate suggestions around `windowpenalties`. Is there a better approach?

MWE:

```
\documentclass[oneside]{book}

\usepackage{lipsum}

\usepackage{parskip}

\raggedbottom

\newenvironment{tips}
    {%
        \widowpenalties 1 10000%
        \everypar{{\fontshape{\itdefault}\fontseries{\bfdefault}\selectfont Tip:\enspace}}%
    }
    {}

\begin{document}

\lipsum[1-10]

\begin{tips}
\lipsum[1-10]
\end{tips}

\lipsum[1-10]

\end{document}

```