Split restms between testable core and adapter layer which we don't want
to unit test. Prevents issues where we pull TinyIoC into the unit tests
which already has a TinyIoC implementation for testing purposes