Completely refactored unit of work. Also added IsTransactional and IsDisabled properties.