Seperated ClosingStrategy. General tidyup and UnitTests.

Way to big a checkin :(