simulation objects implemented as singletons