Specs for most important API classes

This PR adds specs for objects that will not need refactoring in the near future.