Refactoring unearthed problem in add/remove + simulation code!