In this paper we examine the current state of the art in WSN operating systems in terms of their general programming models and runtime reprogramming features. While all OSs admit the need -- and provide some capability -- for runtime reprogramming, we find that no existing OS employs a unified approach at the dynamic end of the spectrum. In this paper we present such a unified solution with a new OS design called Lorien. Lorien is a dynamic component-oriented OS aimed at permitting component-based changes to itself, including architectural change, throughout every aspect of the system at runtime including its kernel. A Lorien system typically permits 43KB -- 90% -- of program memory on the TelosB platform to be fully reprogrammable within a unified programming model, supporting rich future middleware and systems research in the WSN field.