Replication manager changes

Asserts are only intended for debugging and can be turned off (in fact, turning them on in Android is a real pain, you have to remember to pass adb a magic argument). So asserts really shouldn't be used on public arg checking.