Simple fakes with contract tests (inspired by RSpec/Bogus/JB Rainsberger)