In my opinion, good practice is to give everything with significantly different behavior a different object. However, if you are only changing something like, say, patrol distance, it is probably best to use instances of the same object. Both use the same performance but it's generally more manageable to do it this way.