#47: Decomposed *By and *ByMethod algorithms.
#47: Adjusted tests to new API.